/* =========================
   RESET / BASE
========================= */
*{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	margin:0;
	font-family:Arial, sans-serif;
	background:#f2f2f2;
	color:#222;
}

a{
	text-decoration:none;
}

img{
	max-width:100%;
	height:auto;
	display:block;
}

/* =========================
   TOPO / HEADER
========================= */
.topbar{
	background:#6e0000;
	color:#fff;
	text-align:center;
	padding:8px 15px;
	font-size:14px;
	font-weight:bold;
	letter-spacing:.3px;
}

.header{
	background:linear-gradient(90deg,#8a0000 0%, #c00000 42%, #ffcc00 100%);
	color:#fff;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
	position:sticky;
	top:0;
	z-index:1000;
}

.header-container{
	max-width:1240px;
	margin:0 auto;
	padding:18px 20px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	flex-wrap:wrap;
}

.brand{
	display:flex;
	align-items:center;
	gap:14px;
}

.brand-badge{
	width:62px;
	height:62px;
	border-radius:50%;
	background:linear-gradient(135deg,#ffcc00,#fff2a6);
	color:#8a0000;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:22px;
	font-weight:bold;
	box-shadow:0 3px 10px rgba(0,0,0,.18);
}

.brand-text h1{
	font-size:28px;
	line-height:1.1;
	margin:0;
	color:#fff;
	text-transform:uppercase;
	letter-spacing:.5px;
}

.brand-text p{
	font-size:14px;
	margin:4px 0 0;
	color:#fff;
}

.main-menu{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.main-menu a{
	color:#fff;
	padding:11px 16px;
	font-weight:bold;
	border-radius:8px;
	background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.18);
	transition:.25s ease;
}

.main-menu a:hover{
	background:rgba(255,255,255,.22);
	transform:translateY(-1px);
}

/* =========================
   TICKER
========================= */
.news-ticker{
	background:#111;
	color:#fff;
	border-top:3px solid #ffcc00;
	border-bottom:3px solid #910000;
	overflow:hidden;
	position:relative;
}

.news-track-box{
	width:100%;
	overflow:hidden;
	white-space:nowrap;
	position:relative;
}

.news-track{
	display:inline-block;
	white-space:nowrap;
	padding-left:100%;
	animation:ticker-scroll 28s linear infinite;
}

.news-track span{
	display:inline-block;
	margin-right:60px;
	color:#ffdd57;
	font-size:15px;
	font-weight:bold;
	padding:12px 0;
}

@keyframes ticker-scroll{
	0%{ transform:translateX(0); }
	100%{ transform:translateX(-100%); }
}

/* =========================
   HERO
========================= */
.hero{
	background:
		linear-gradient(rgba(100,0,0,.72), rgba(255,183,0,.28)),
		url('../img/bg-topo.jpg') center/cover no-repeat;
	color:#fff;
	padding:95px 20px 110px;
	position:relative;
}

.hero::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:90px;
	background:linear-gradient(to top, rgba(242,242,242,1), rgba(242,242,242,0));
}

.hero-container{
	max-width:1240px;
	margin:0 auto;
	position:relative;
	z-index:2;
}

.hero-grid{
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:28px;
	align-items:center;
}

.hero-text h2{
	font-size:52px;
	line-height:1.15;
	margin:0 0 18px;
	color:#fff;
}

.hero-text p{
	font-size:19px;
	line-height:1.8;
	margin:0 0 24px;
}

.hero-buttons{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

.hero-buttons a{
	display:inline-block;
	padding:14px 22px;
	border-radius:9px;
	font-weight:bold;
	transition:.25s ease;
}

.hero-buttons a:hover{
	transform:translateY(-2px);
}

.btn-primary{
	background:#ffcc00;
	color:#8a0000;
}

.btn-live{
	background:#111;
	color:#ffcc00;
	border:2px solid #ffcc00;
}

.hero-side-card{
	background:rgba(255,255,255,.12);
	backdrop-filter:blur(4px);
	border:1px solid rgba(255,255,255,.20);
	border-radius:18px;
	padding:22px;
	box-shadow:0 6px 20px rgba(0,0,0,.16);
}

.hero-side-card h3{
	font-size:26px;
	margin:0 0 12px;
	color:#ffdd57;
}

.hero-side-card p{
	line-height:1.8;
	font-size:16px;
	margin:0 0 12px;
	color:#fff;
}

.mini-live{
	display:inline-block;
	margin-top:8px;
	padding:12px 18px;
	background:#111;
	color:#ffcc00;
	font-weight:bold;
	border-radius:8px;
	border:2px solid #ffcc00;
	transition:.25s ease;
}

.mini-live:hover{
	transform:translateY(-2px);
}

/* =========================
   ESTRUTURA GERAL DAS SEÇÕES
========================= */
.section{
	max-width:1240px;
	margin:0 auto;
	padding:50px 20px;
}

.main-section-wrap{
	padding-top:30px;
}

.main-grid{
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:28px;
	align-items:start;
}

.main-content-area .section{
	padding-top:0;
}

.sidebar-area{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.sidebar-area .section{
	padding:0;
	max-width:none;
	margin:0;
}

/* =========================
   TITULOS DAS SEÇÕES
========================= */
.section-title{
	text-align:center;
	margin-bottom:28px;
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	padding:12px 18px 14px;
	border-radius:14px;
	box-shadow:0 6px 18px rgba(0,0,0,.10);
	border-top:4px solid #9b0000;
}

.section-title h3{
	color:#fff;
	font-size:28px;
	margin:0;
	line-height:1.2;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
}

.section-title p{
	color:#fff;
	margin:8px 0 0;
	font-size:15px;
	line-height:1.5;
	font-weight:500;
}

/* =========================
   DESTAQUES DO PORTAL
========================= */
.feature-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}

.feature-box{
	background:#fff;
	border-radius:14px;
	padding:24px;
	box-shadow:0 4px 16px rgba(0,0,0,.08);
	border-left:6px solid #ffcc00;
	transition:.25s ease;
}

.feature-box:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 22px rgba(0,0,0,.12);
}

.feature-box h4{
	color:#9b0000;
	font-size:22px;
	margin:0 0 10px;
	line-height:1.3;
}

.feature-box p{
	color:#444;
	line-height:1.7;
	margin:0;
}

/* =========================
   DESTAQUE DE JOGOS
========================= */
.score-strip{
	margin-top:-55px;
	position:relative;
	z-index:5;
}

.score-strip-wrap{
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
}

.score-strip-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}

.score-item{
	background:#fff;
	border-radius:14px;
	box-shadow:0 6px 22px rgba(0,0,0,.10);
	overflow:hidden;
	border-top:5px solid #9b0000;
}

.score-item-top{
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	text-align:center;
	padding:10px;
	font-weight:bold;
	font-size:14px;
}

.score-item-body{
	padding:18px 14px;
	text-align:center;
}

.score-item-body h4{
	color:#9b0000;
	font-size:20px;
	margin:0 0 8px;
	line-height:1.3;
}

.score-result{
	font-size:34px;
	font-weight:bold;
	color:#111;
	margin-bottom:6px;
}

.score-meta{
	color:#666;
	font-size:14px;
	line-height:1.6;
}

/* =========================
   NOTÍCIAS
========================= */
.posts-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:22px;
}

.post-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	overflow:hidden;
	transition:.3s;
}

.post-card:hover{
	transform:translateY(-5px);
	box-shadow:0 8px 28px rgba(0,0,0,.15);
}

.post-card img{
	width:100%;
	height:260px;
	object-fit:cover;
}

.post-content{
	padding:18px;
}

.post-tag{
	display:inline-block;
	background:#ffefb0;
	color:#8a0000;
	font-size:12px;
	font-weight:bold;
	border-radius:20px;
	padding:6px 10px;
	margin-bottom:10px;
}

.post-content h4{
	color:#9b0000;
	font-size:22px;
	margin:0 0 10px;
	line-height:1.3;
}

.post-content p{
	color:#444;
	line-height:1.7;
	margin:0 0 12px;
}

.read-more{
	color:#9b0000;
	font-weight:bold;
}

/* =========================
   JOGOS
========================= */
.games-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
}

.game-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	border-top:5px solid #9b0000;
	padding:22px;
	text-align:center;
	transition:.25s ease;
}

.game-card:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.game-card h4{
	color:#9b0000;
	font-size:22px;
	margin:0 0 12px;
	line-height:1.3;
}

.game-card p{
	color:#444;
	line-height:1.6;
	margin:6px 0;
}

/* =========================
   GALERIA
========================= */
.gallery-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:18px;
	align-items:stretch;
}

.gallery-item{
	position:relative;
	display:block;
	width:100%;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 4px 18px rgba(0,0,0,.10);
	cursor:pointer;
	background:#fff;
}

.gallery-item img{
	width:100%;
	height:260px;
	object-fit:cover;
	display:block;
	transition:.4s;
}

.gallery-item:hover img{
	transform:scale(1.08);
}

.gallery-overlay{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	background:linear-gradient(transparent, rgba(0,0,0,.8));
	color:#fff;
	padding:15px;
	font-weight:bold;
	font-size:16px;
	text-align:center;
}

/* =========================
   PATROCINADORES
========================= */
.sponsor-section{
	padding-top:20px;
	padding-bottom:20px;
}

.sponsor-row{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
	align-items:stretch;
}

.sponsor-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	border:2px dashed #e5e5e5;
	height:160px;
	padding:16px;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	overflow:hidden;
}

.sponsor-card a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	padding:8px;
	box-sizing:border-box;
}

.sponsor-card img{
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	display:block;
}

.sponsor-name{
	font-weight:bold;
	color:#9b0000;
	font-size:18px;
	line-height:1.4;
}

/* =========================
   TV WEB
========================= */
.tv-section{
	background:linear-gradient(135deg,#870000,#d29500);
	color:#fff;
	border-radius:20px;
	padding:36px 24px;
	box-shadow:0 6px 22px rgba(0,0,0,.14);
}

.tv-frame{
	background:#111;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 4px 20px rgba(0,0,0,.25);
	min-height:360px;
	display:flex;
	align-items:center;
	justify-content:center;
}

.tv-frame iframe{
	width:100%;
	height:520px;
	border:0;
	display:block;
	background:#000;
}

.tv-placeholder{
	width:100%;
	text-align:center;
	padding:40px 25px;
	color:#fff;
}

.tv-badge{
	display:inline-block;
	background:#ffcc00;
	color:#8a0000;
	font-weight:bold;
	font-size:13px;
	padding:8px 14px;
	border-radius:30px;
	margin-bottom:18px;
}

.tv-placeholder h4{
	font-size:32px;
	margin:0 0 14px;
	color:#fff;
}

.tv-placeholder p{
	font-size:17px;
	line-height:1.8;
	margin:0 auto 18px;
	max-width:700px;
	color:#f5f5f5;
}

.tv-meta{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	margin-top:18px;
	flex-wrap:wrap;
}

.tv-meta h4{
	margin:8px 0 0;
	font-size:24px;
	color:#fff;
}

.tv-badge-small{
	display:inline-block;
	background:#ffcc00;
	color:#8a0000;
	font-weight:bold;
	font-size:12px;
	padding:6px 10px;
	border-radius:20px;
}

.tv-button{
	display:inline-block;
	padding:14px 22px;
	border-radius:10px;
	font-weight:bold;
	background:#ffcc00;
	color:#8a0000;
	transition:.25s ease;
}

.tv-button:hover{
	transform:translateY(-2px);
}

/* =========================
   SIDEBAR / BLOCOS LATERAIS
========================= */
.sidebar-box{
	background:#fff;
	border-radius:16px;
	padding:22px;
	box-shadow:0 4px 16px rgba(0,0,0,.08);
	margin-bottom:20px;
}

.sidebar-box h4{
	color:#9b0000;
	font-size:22px;
	margin:0 0 15px;
	border-bottom:2px solid #f0f0f0;
	padding-bottom:10px;
}

.sidebar-box p{
	color:#444;
	line-height:1.7;
	margin:0 0 14px;
}

.sidebar-list{
	list-style:none;
	margin:0;
	padding:0;
}

.sidebar-list li{
	padding:12px 0;
	border-bottom:1px solid #ececec;
	color:#444;
	line-height:1.6;
}

.sidebar-button{
	display:block;
	text-align:center;
	margin-top:12px;
	background:#9b0000;
	color:#fff;
	padding:12px 18px;
	border-radius:8px;
	font-weight:bold;
}

/* =========================
   ESTADOS VAZIOS
========================= */
.empty-state{
	background:#fff7da;
	border:1px solid #f0d46c;
	color:#6b5200;
	padding:16px;
	border-radius:12px;
	text-align:center;
	font-weight:bold;
}

/* =========================
   FOOTER PROFISSIONAL
========================= */
.footer{
	background:#6f0000;
	color:#fff;
	margin-top:45px;
}

.footer-top{
	max-width:1240px;
	margin:0 auto;
	padding:38px 20px;
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:24px;
}

.footer-col{
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.10);
	border-radius:16px;
	padding:22px;
	box-shadow:0 4px 14px rgba(0,0,0,.10);
}

.footer h4{
	color:#ffcc00;
	margin:0 0 12px;
	font-size:20px;
	line-height:1.2;
}

.footer p,
.footer a{
	color:#fff;
	line-height:1.8;
	font-size:15px;
	margin:0;
}

.footer a:hover{
	color:#ffdd57;
}

.footer-bottom{
	background:#540000;
	text-align:center;
	padding:14px 20px;
	font-size:14px;
	color:#fff;
}

@media (max-width:900px){
	.footer-top{
		grid-template-columns:repeat(2,1fr);
	}
}

@media (max-width:768px){
	.footer-top{
		grid-template-columns:1fr;
	}
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width:1024px){
	.sponsor-row{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:20px;
	}
}

@media (max-width:900px){
	.gallery-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:768px){
	.hero-grid,
	.feature-grid,
	.posts-grid,
	.games-grid,
	.gallery-grid,
	.score-strip-grid,
	.footer-top{
		grid-template-columns:1fr;
	}

	.header-container{
		flex-direction:column;
		align-items:center;
	}

	.score-strip{
		margin-top:0;
		padding-top:25px;
	}

	.sponsor-section{
		padding-top:10px;
		padding-bottom:10px;
	}

	.sponsor-row{
		grid-template-columns:1fr;
		gap:16px;
	}

	.sponsor-card{
		height:140px;
		padding:14px;
	}

	.tv-frame{
		min-height:260px;
	}

	.tv-frame iframe{
		height:260px;
	}

	.tv-placeholder h4{
		font-size:24px;
	}

	.tv-placeholder p{
		font-size:15px;
	}

	.section-title{
		padding:10px 14px 12px;
		margin-bottom:22px;
	}

	.section-title h3{
		font-size:22px;
	}

	.section-title p{
		font-size:14px;
	}

	.hero-text h2{
		font-size:34px;
	}

	.hero{
		padding:70px 18px 90px;
	}
}
/* =========================
   AJUSTE DO CARD INFORMAÇÕES
========================= */
.info-section-wrap{
	padding-top:10px;
	padding-bottom:10px;
}

.single-column-layout{
	display:block;
}

.info-card-full{
	width:100%;
	margin:0;
}

.info-card-full h4{
	margin-top:0;
}

.info-card-full p{
	margin-bottom:14px;
}

.main-content-area{
	width:100%;
}

@media (max-width:768px){
	.info-section-wrap{
		padding-top:0;
		padding-bottom:0;
	}

	.info-card-full{
		padding:18px;
	}
}
/* =========================
   CABEÇALHO NOVO COM ESCUDO
========================= */
.brand-logo-wrap{
	width:84px;
	height:84px;
	min-width:84px;
	background:#fff;
	border-radius:50%;
	padding:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.brand-logo{
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
	object-fit:contain;
	display:block;
}

.brand-title-box{
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	padding:12px 18px 14px;
	border-radius:14px;
	box-shadow:0 6px 18px rgba(0,0,0,.10);
	border-top:4px solid #9b0000;
}

.brand-title-box h1{
	color:#fff;
	font-size:30px;
	margin:0;
	line-height:1.1;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
}

.brand-title-box p{
	color:#fff;
	margin:8px 0 0;
	font-size:14px;
	line-height:1.4;
	font-weight:600;
}

/* menu com padrão elegante */
.main-menu{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
}

.main-menu a{
	color:#fff;
	padding:12px 18px;
	font-weight:700;
	border-radius:10px;
	background:linear-gradient(90deg,rgba(155,0,0,.88),rgba(255,204,0,.82));
	border:1px solid rgba(255,255,255,.18);
	box-shadow:0 4px 12px rgba(0,0,0,.10);
	transition:.25s ease;
}

.main-menu a:hover{
	transform:translateY(-2px);
	box-shadow:0 7px 18px rgba(0,0,0,.16);
	filter:brightness(1.03);
}

@media (max-width:768px){
	.brand{
		width:100%;
		flex-direction:column;
		text-align:center;
	}

	.brand-logo-wrap{
		width:78px;
		height:78px;
		min-width:78px;
	}

	.brand-title-box{
		width:100%;
	}

	.brand-title-box h1{
		font-size:24px;
	}

	.main-menu{
		width:100%;
		justify-content:center;
	}

	.main-menu a{
		flex:1 1 calc(50% - 10px);
		text-align:center;
		min-width:130px;
	}
}
@media (max-width:768px){
	.header{
		position:relative !important;
		top:auto !important;
	}

	.topbar{
		font-size:12px;
		padding:6px 10px;
	}

	.header-container{
		padding:10px 12px;
		gap:10px;
	}

	.brand{
		width:100%;
		flex-direction:row;
		align-items:center;
		justify-content:center;
		gap:10px;
	}

	.brand-logo-wrap{
		width:54px;
		height:54px;
		min-width:54px;
		padding:6px;
	}

	.brand-title-box{
		padding:8px 12px 9px;
		border-radius:10px;
	}

	.brand-title-box h1{
		font-size:18px;
	}

	.brand-title-box p{
		font-size:11px;
		margin-top:4px;
	}

	.main-menu{
		width:100%;
		justify-content:center;
		gap:6px;
	}

	.main-menu a{
		flex:0 0 auto;
		padding:6px 10px;
		font-size:12px;
		line-height:1.2;
		border-radius:8px;
		min-width:auto;
	}
}
/* =========================
   PÁGINAS INTERNAS
========================= */
.page-content{
	background:#fff;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	padding:28px;
	line-height:1.8;
	color:#333;
	font-size:16px;
}

.page-content h2{
	color:#9b0000;
	margin-top:20px;
}

.page-content p{
	margin-bottom:14px;
}

.page-content ul{
	padding-left:18px;
	margin-bottom:16px;
}

.page-content li{
	margin-bottom:6px;
}

@media (max-width:768px){
	.page-content{
		padding:18px;
		font-size:15px;
	}
}
.categoria-home{
	padding-top:10px;
}

.categoria-posts-grid{
	margin-top:0;
}
/* =========================
   POST INDIVIDUAL
========================= */
.single-post-content{
	max-width:980px;
	margin:0 auto;
}

.single-post-thumb{
	margin-bottom:22px;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 4px 18px rgba(0,0,0,.10);
}

.single-post-thumb img{
	width:100%;
	height:auto;
	display:block;
}

.single-post-meta{
	margin-bottom:18px;
	font-size:14px;
	color:#777;
	font-weight:bold;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
}

.single-post-sep{
	color:#bbb;
}

.single-post-body{
	line-height:1.9;
	font-size:17px;
	color:#333;
}

.single-post-body h2,
.single-post-body h3,
.single-post-body h4{
	color:#9b0000;
	margin-top:24px;
}

.single-post-body p{
	margin-bottom:16px;
}

.single-post-body ul,
.single-post-body ol{
	padding-left:22px;
	margin-bottom:18px;
}

.single-post-body li{
	margin-bottom:8px;
}

.single-post-nav{
	margin-top:28px;
	display:flex;
	justify-content:flex-start;
}

@media (max-width:768px){
	.single-post-body{
		font-size:15px;
		line-height:1.8;
	}
}
/* =========================
   DIRETORIA
========================= */
.diretoria-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:22px;
}

.diretoria-card{
	background:#fff;
	border-radius:18px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	overflow:hidden;
	transition:.25s ease;
	text-align:center;
}

.diretoria-card:hover{
	transform:translateY(-4px);
	box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.diretoria-foto img{
	width:100%;
	height:300px;
	object-fit:cover;
}

.diretoria-info{
	padding:18px;
}

.diretoria-info h4{
	margin:0 0 8px;
	color:#9b0000;
	font-size:20px;
	line-height:1.3;
}

.diretoria-info p{
	margin:0;
	color:#555;
	font-weight:bold;
	line-height:1.5;
}

@media (max-width:1024px){
	.diretoria-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:768px){
	.diretoria-grid{
		grid-template-columns:1fr;
	}
}
/* =========================
   JOGADORES
========================= */
.jogadores-grid{
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:22px;
}

.jogador-card{
	background:#fff;
	border-radius:18px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	overflow:hidden;
	transition:.25s ease;
	text-align:center;
}

.jogador-card:hover{
	transform:translateY(-4px);
	box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.jogador-foto img{
	width:100%;
	height:300px;
	object-fit:cover;
}

.jogador-info{
	padding:18px;
}

.jogador-info h4{
	margin:0 0 8px;
	color:#9b0000;
	font-size:20px;
	line-height:1.3;
}

.jogador-info p{
	margin:0;
	color:#555;
	font-weight:bold;
	line-height:1.5;
}

@media (max-width:1024px){
	.jogadores-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:768px){
	.jogadores-grid{
		grid-template-columns:1fr;
	}
}
/* =========================
   MASCOTE FLUTUANTE
========================= */
#mascote-flutuante{
	position:fixed;
	bottom:20px;
	right:20px;
	width:140px;
	z-index:9999;
	animation:flutuar 3s ease-in-out infinite;
}

#mascote-flutuante img{
	width:100%;
	height:auto;
	display:block;
}

#fechar-mascote{
	position:absolute;
	top:-10px;
	right:-10px;
	background:#9b0000;
	color:#fff;
	border:none;
	border-radius:50%;
	width:28px;
	height:28px;
	font-size:16px;
	cursor:pointer;
	box-shadow:0 3px 10px rgba(0,0,0,.2);
}

@keyframes flutuar{
	0%{ transform:translateY(0); }
	50%{ transform:translateY(-8px); }
	100%{ transform:translateY(0); }
}

@media (max-width:768px){
	#mascote-flutuante{
		width:90px;
		bottom:12px;
		right:12px;
	}
}
/* =========================
   PLANOS DE SÓCIO
========================= */
.planos-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:22px;
}

.plano-card{
	background:#fff;
	border-radius:18px;
	padding:24px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	text-align:center;
	transition:.25s ease;
}

.plano-card:hover{
	transform:translateY(-5px);
	box-shadow:0 10px 26px rgba(0,0,0,.12);
}

.plano-card h4{
	color:#9b0000;
	font-size:22px;
	margin-bottom:10px;
}

.plano-valor{
	font-size:24px;
	font-weight:bold;
	color:#000;
	margin-bottom:14px;
}

.plano-card ul{
	list-style:none;
	padding:0;
	margin-bottom:18px;
}

.plano-card li{
	margin-bottom:6px;
}

.plano-botao{
	display:inline-block;
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	padding:10px 18px;
	border-radius:10px;
	font-weight:bold;
}

.plano-botao:hover{
	filter:brightness(1.05);
}

.plano-card.destaque{
	border:2px solid #ffcc00;
	transform:scale(1.05);
}

@media (max-width:900px){
	.planos-grid{
		grid-template-columns:1fr;
	}
}
/* =========================
   CHAMADA SEJA SÓCIO NA HOME
========================= */
.socio-home-section{
	padding-top:10px;
	padding-bottom:10px;
}

.socio-home-card{
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	border-radius:18px;
	padding:26px;
	box-shadow:0 6px 22px rgba(0,0,0,.14);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:22px;
}

.socio-home-card h3{
	margin:0 0 8px;
	font-size:28px;
	color:#fff;
	text-transform:uppercase;
}

.socio-home-card p{
	margin:0;
	line-height:1.7;
	font-size:16px;
	color:#fff;
}

.socio-home-button{
	background:#111;
	color:#ffcc00;
	border:2px solid #ffcc00;
	padding:14px 22px;
	border-radius:10px;
	font-weight:bold;
	white-space:nowrap;
}

.socio-home-button:hover{
	filter:brightness(1.1);
}

@media (max-width:768px){
	.socio-home-card{
		flex-direction:column;
		text-align:center;
		padding:22px;
	}

	.socio-home-card h3{
		font-size:22px;
	}

	.socio-home-button{
		width:100%;
		text-align:center;
	}
}
/* =========================
   DOAR / PIX
========================= */
.pix-box{
	background:#fff;
	border-radius:16px;
	padding:24px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	text-align:center;
	margin-top:20px;
}

.pix-chave{
	font-size:18px;
	font-weight:bold;
	background:#f5f5f5;
	padding:12px;
	border-radius:8px;
	margin:12px 0;
	word-break:break-all;
}

.pix-copy-btn{
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	border:none;
	padding:10px 18px;
	border-radius:10px;
	font-weight:bold;
	cursor:pointer;
}

.pix-copy-btn:hover{
	filter:brightness(1.05);
}

.doacao-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0,1fr));
	gap:22px;
}

.doacao-card{
	background:#fff;
	border-radius:18px;
	padding:22px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	text-align:center;
}

.doacao-card h4{
	color:#9b0000;
	margin-bottom:8px;
}

@media (max-width:900px){
	.doacao-grid{
		grid-template-columns:1fr;
	}
}
/* =========================
   CHAMADA DOAR NA HOME
========================= */
.doar-home-section{
	padding-top:10px;
	padding-bottom:10px;
}

.doar-home-card{
	background:linear-gradient(90deg,#111,#9b0000);
	color:#fff;
	border-radius:18px;
	padding:26px;
	box-shadow:0 6px 22px rgba(0,0,0,.14);
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:22px;
}

.doar-home-card h3{
	margin:0 0 8px;
	font-size:26px;
	color:#ffcc00;
	text-transform:uppercase;
}

.doar-home-card p{
	margin:0;
	line-height:1.7;
	font-size:16px;
}

.doar-home-button{
	background:#ffcc00;
	color:#000;
	padding:14px 22px;
	border-radius:10px;
	font-weight:bold;
	white-space:nowrap;
}

.doar-home-button:hover{
	filter:brightness(1.1);
}

@media (max-width:768px){
	.doar-home-card{
		flex-direction:column;
		text-align:center;
		padding:22px;
	}

	.doar-home-button{
		width:100%;
		text-align:center;
	}
}
/* =========================
   DOAR COM MASCOTE
========================= */
.doar-home-card{
	align-items:center;
}

.doar-texto{
	flex:1;
}

.doar-mascote{
	position:relative;
	width:160px;
	text-align:center;
}

.doar-mascote img{
	width:100%;
	height:auto;
	animation:flutuar 3s ease-in-out infinite;
}

/* balão estilo fala */
.doar-balao{
	position:absolute;
	top:-20px;
	left:-120px;
	background:#fff;
	color:#000;
	padding:10px 14px;
	border-radius:12px;
	font-size:14px;
	box-shadow:0 4px 14px rgba(0,0,0,.15);
	max-width:140px;
}

/* seta do balão */
.doar-balao::after{
	content:'';
	position:absolute;
	right:-10px;
	top:50%;
	transform:translateY(-50%);
	border-width:8px;
	border-style:solid;
	border-color:transparent transparent transparent #fff;
}

/* mobile */
@media (max-width:768px){
	.doar-home-card{
		flex-direction:column;
	}

	.doar-mascote{
		margin-top:14px;
		width:120px;
	}

	.doar-balao{
		position:relative;
		top:0;
		left:0;
		margin-bottom:8px;
	}

	.doar-balao::after{
		display:none;
	}
}
/* =========================
   MASCOTE NA PÁGINA DOAR
========================= */
.doar-page-mascote{
	margin:28px auto 0;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	flex-wrap:wrap;
}

.doar-page-mascote img{
	width:130px;
	height:auto;
	animation:flutuar 3s ease-in-out infinite;
}

.doar-page-balao{
	background:#fff;
	color:#111;
	border-radius:16px;
	padding:16px 18px;
	box-shadow:0 4px 18px rgba(0,0,0,.12);
	border-left:6px solid #ffcc00;
	max-width:360px;
	font-weight:bold;
	line-height:1.6;
	position:relative;
}

.doar-page-balao::after{
	content:"";
	position:absolute;
	right:-14px;
	top:50%;
	transform:translateY(-50%);
	border-width:10px 0 10px 14px;
	border-style:solid;
	border-color:transparent transparent transparent #fff;
}

@media (max-width:768px){
	.doar-page-mascote{
		flex-direction:column;
	}

	.doar-page-balao::after{
		display:none;
	}

	.doar-page-mascote img{
		width:110px;
	}
}
/* =========================
   SHOP JUVENTUDE
========================= */
.shop-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
}

.shop-card{
	background:#fff;
	border-radius:18px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
	overflow:hidden;
	transition:.25s ease;
	display:flex;
	flex-direction:column;
}

.shop-card:hover{
	transform:translateY(-5px);
	box-shadow:0 10px 28px rgba(0,0,0,.14);
}

.shop-img{
	background:#f7f7f7;
	height:240px;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
}

.shop-img img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.shop-info{
	padding:20px;
	display:flex;
	flex-direction:column;
	flex:1;
}

.shop-info h4{
	color:#9b0000;
	font-size:22px;
	margin:0 0 10px;
	line-height:1.3;
}

.shop-info p{
	color:#444;
	line-height:1.7;
	margin:0 0 12px;
}

.shop-info span{
	display:inline-block;
	font-weight:bold;
	color:#111;
	margin-bottom:16px;
}

.shop-button{
	margin-top:auto;
	display:inline-block;
	text-align:center;
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	padding:12px 18px;
	border-radius:10px;
	font-weight:bold;
}

.shop-button:hover{
	filter:brightness(1.05);
}

@media (max-width:1024px){
	.shop-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
}

@media (max-width:768px){
	.shop-grid{
		grid-template-columns:1fr;
	}

	.shop-img{
		height:220px;
	}
}
/* =========================
   FORMULÁRIO CONTATO
========================= */
.form-container{
	max-width:600px;
	margin:0 auto;
}

.form-contato{
	background:#fff;
	padding:28px;
	border-radius:16px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
}

.form-group{
	margin-bottom:16px;
	display:flex;
	flex-direction:column;
}

.form-group label{
	font-weight:bold;
	margin-bottom:6px;
	color:#9b0000;
}

.form-group input{
	padding:10px;
	border-radius:8px;
	border:1px solid #ccc;
	font-size:15px;
}

.form-group input:focus{
	border-color:#9b0000;
	outline:none;
}

.form-button{
	width:100%;
	background:linear-gradient(90deg,#9b0000,#ffcc00);
	color:#fff;
	padding:12px;
	border:none;
	border-radius:10px;
	font-weight:bold;
	cursor:pointer;
}

.form-button:hover{
	filter:brightness(1.05);
}

.form-sucesso{
	background:#d4edda;
	color:#155724;
	padding:14px;
	border-radius:10px;
	margin-bottom:16px;
	text-align:center;
	font-weight:bold;
}
.album-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}

.album-card{
	position:relative;
	overflow:hidden;
	border-radius:18px;
}

.album-card img{
	width:100%;
	height:280px;
	object-fit:cover;
	display:block;
}

.album-overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.45);
	display:flex;
	align-items:end;
	padding:20px;
}

.album-overlay h4{
	color:#fff;
	margin:0;
}

.album-fotos{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:15px;
	margin-top:30px;
}

.album-img{
	width:100%;
	height:250px;
	object-fit:cover;
	border-radius:12px;
	cursor:pointer;
}

@media(max-width:768px){

	.album-grid{
		grid-template-columns:repeat(2,1fr);
	}

	.album-fotos{
		grid-template-columns:repeat(2,1fr);
	}

}
/* ==========================
   GALERIA DE ÁLBUNS
========================== */

.album-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}

.album-card{
	position:relative;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 4px 16px rgba(0,0,0,.12);
}

.album-card img{
	width:100%;
	height:260px;
	object-fit:cover;
	display:block;
}

.album-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(
		to top,
		rgba(0,0,0,.85),
		rgba(0,0,0,.15)
	);

	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	padding:20px;
}

.album-overlay h4{
	color:#fff;
	margin:0 0 10px 0;
	font-size:18px;
}

.album-button{
	display:inline-block;
	background:linear-gradient(
		90deg,
		#9b0000,
		#ffcc00
	);

	color:#fff;
	padding:8px 14px;
	border-radius:8px;
	font-size:13px;
	font-weight:bold;
	width:max-content;
}

@media(max-width:1024px){

	.album-grid{
		grid-template-columns:repeat(3,1fr);
	}

}

@media(max-width:768px){

	.album-grid{
		grid-template-columns:repeat(2,1fr);
		gap:15px;
	}

	.album-card img{
		height:180px;
	}

}
/* ==========================
   ÁLBUM INDIVIDUAL
========================== */

.single-album-page{
	max-width:1200px;
	margin:auto;
}

.album-capa{
	margin-bottom:30px;
}

.album-cover-image{
	width:100%;
	max-height:500px;
	object-fit:cover;
	border-radius:18px;
	box-shadow:0 4px 20px rgba(0,0,0,.15);
}

.album-content{
	margin:30px 0;
	line-height:1.8;
	font-size:17px;
}

.album-content p{
	margin-bottom:18px;
}

.album-gallery-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:15px;
	margin-top:30px;
}

.album-photo{
	width:100%;
	height:250px;
	object-fit:cover;
	border-radius:12px;
	transition:.3s;
	box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.album-photo:hover{
	transform:scale(1.03);
}

@media(max-width:1024px){

	.album-gallery-grid{
		grid-template-columns:repeat(3,1fr);
	}

}

@media(max-width:768px){

	.album-gallery-grid{
		grid-template-columns:repeat(2,1fr);
	}

	.album-photo{
		height:180px;
	}

}
/* ==========================
   ÁLBUNS
========================== */

.album-capa{
	margin-bottom:30px;
}

.album-cover-image{
	width:100%;
	max-height:500px;
	object-fit:cover;
	border-radius:20px;
}

.album-gallery-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
	margin-top:30px;
}

.album-photo{
	width:100%;
	height:250px;
	object-fit:cover;
	border-radius:12px;
	transition:.3s;
	box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.album-photo:hover{
	transform:scale(1.03);
}

@media(max-width:768px){

	.album-gallery-grid{
		grid-template-columns:repeat(2,1fr);
	}

	.album-photo{
		height:180px;
	}

}
.album-gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:20px;
    margin-top:30px;
}

.album-item{
    display:block;
    overflow:hidden;
    border-radius:12px;
}

.album-item img{
    width:100%;
    height:250px;
    object-fit:cover;
    transition:.3s;
}

.album-item:hover img{
    transform:scale(1.05);
}
/* ========================================================
   CORREÇÃO DO TEXTO JUSTIFICADO E DA NOVA GALERIA
   ======================================================== */

.album-content {
	font-size: 16px;
	line-height: 1.8;
	text-align: justify; /* Deixa o texto perfeitamente justificado */
	margin: 25px 0 40px 0;
	clear: both;
	word-wrap: break-word; /* Força a quebra de linha para o texto não escapar */
}

/* Força a nova galeria do WordPress a usar a mesma grade de 4 colunas */
.single-album-page .gallery,
.single-album-page .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	margin: 30px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.single-album-page .gallery .gallery-item {
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.single-album-page .gallery .gallery-icon a {
	display: block !important;
	width: 100% !important;
	height: 250px !important; /* Altura idêntica à do seu álbum antigo */
}

.single-album-page .gallery .gallery-icon img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 12px !important;
	box-shadow: 0 3px 10px rgba(0,0,0,.15) !important;
	transition: .3s;
}

.single-album-page .gallery .gallery-icon img:hover {
	transform: scale(1.03);
}

/* Responsividade para celulares e tablets da nova galeria */
@media(max-width: 1024px){
	.single-album-page .gallery {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media(max-width: 768px){
	.single-album-page .gallery {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.single-album-page .gallery .gallery-icon a {
		height: 180px !important;
	}
}
/* ========================================================
   ESTILIZAÇÃO DA LINHA DE TEMPO (TIMELINE MEMORIAL)
   ======================================================== */

.memorial-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.timeline-container {
    position: relative;
    padding: 20px 0;
    margin-top: 50px;
    list-style: none;
}

/* A Linha Vertical Central */
.timeline-container::before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 3px;
    background-color: #8a0000; /* Vermelho Oficial */
    transform: translateX(-50%);
}

.timeline-item {
    position: relative;
    width: 50%;
    padding: 20px 40px;
    box-sizing: border-box;
    clear: both;
}

/* Alinhamento dos Blocos (Padrão: Esquerda) */
.timeline-item {
    float: left;
}

/* Alinhamento dos Blocos (Invertido: Direita) */
.timeline-item.timeline-inverted {
    float: right;
    padding: 20px 0 20px 40px;
}

/* O Círculo Indicador do Ano (Distintivo) */
.timeline-badge {
    position: absolute;
    top: 25px;
    right: -25px;
    z-index: 10;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #ffcc00; /* Dourado Oficial */
    color: #8a0000;
    font-weight: bold;
    font-size: 14px;
    line-height: 50px;
    text-align: center;
    box-shadow: 0 0 0 4px #8a0000, 0 4px 10px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
}

.timeline-item.timeline-inverted .timeline-badge {
    left: -25px;
    right: auto;
}

/* Badge especial para o Bloco Carnavalesco */
.timeline-badge.folia-badge {
    background-color: #8a0000;
    color: #ffcc00;
    font-size: 11px;
    box-shadow: 0 0 0 4px #ffcc00, 0 4px 10px rgba(0,0,0,0.2);
}

/* O Painel de Conteúdo */
.timeline-panel {
    position: relative;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Destaque para o bloco final de agradecimento e carnaval */
.timeline-panel.highlight-panel {
    border: 2px solid #ffcc00;
    background: #fffdf2;
}

.timeline-heading h4 {
    margin-top: 0;
    color: #8a0000;
    font-size: 20px;
    border-bottom: 2px solid #f2f2f2;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

.timeline-body p {
    font-size: 15px;
    line-height: 1.7;
    color: #444444;
    text-align: justify;
    margin-bottom: 12px;
}

/* Área de Imagens */
.timeline-photo-area {
    margin-top: 20px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

.timeline-img {
    width: 100%;
    max-height: 350px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
    transition: transform 0.4s ease;
}

/* Dica Discreta de Upload (Aparece se a foto NÃO existir no servidor) */
.photo-placeholder-tip {
    display: none;
    background: #f9f9f9;
    border: 1px dashed #cccccc;
    color: #777777;
    padding: 15px;
    text-align: center;
    font-size: 13px;
    border-radius: 6px;
}

.timeline-photo-area.no-image .photo-placeholder-tip {
    display: block;
}

/* Efeitos Dinâmicos de Animação e Hover */
.timeline-item:hover .timeline-panel {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.timeline-item:hover .timeline-badge {
    transform: scale(1.1);
}

.timeline-photo-area:not(.no-image):hover .timeline-img {
    transform: scale(1.03);
}

/* Limpeza das caixas flutuantes */
.timeline-container::after {
    content: "";
    display: table;
    clear: both;
}

/* RESPONSIVIDADE (Telas de Celulares e Tablets) */
@media (max-width: 900px) {
    .timeline-container::before {
        left: 30px;
    }

    .timeline-item {
        width: 100%;
        float: none;
        padding-left: 70px;
        padding-right: 15px;
    }

    .timeline-item.timeline-inverted {
        padding-left: 70px;
        padding-right: 15px;
    }

    .timeline-badge {
        left: 5px !important;
        right: auto !important;
        width: 45px;
        height: 45px;
        line-height: 45px;
    }
}
