.assoc-page{
	--assoc-dark-1:#06283D;
	--assoc-dark-2:#0B3C5D;
	--assoc-gold-1:#f59e0b;
	--assoc-gold-2:#fbbf24;
	--assoc-light:#f8fafc;
	--assoc-border:rgba(0,0,0,.08);
	--assoc-text:#1f2937;
	--assoc-muted:#6b7280;
	--assoc-success:#16a34a;
	--assoc-info:#0ea5e9;
	--assoc-danger:#ef4444;
}

@keyframes assocFloat{
	0%{transform:translateY(0)}
	50%{transform:translateY(-4px)}
	100%{transform:translateY(0)}
}

@keyframes assocGlow{
	0%{box-shadow:0 0 0 rgba(245,158,11,0)}
	50%{box-shadow:0 0 24px rgba(245,158,11,.18)}
	100%{box-shadow:0 0 0 rgba(245,158,11,0)}
}

@keyframes assocPulse{
	0%{transform:scale(1)}
	50%{transform:scale(1.04)}
	100%{transform:scale(1)}
}

@keyframes assocShimmer{
	0%{background-position:-200% 0}
	100%{background-position:200% 0}
}

@keyframes assocFadeUp{
	from{opacity:0;transform:translateY(10px)}
	to{opacity:1;transform:translateY(0)}
}

.assoc-wrap{
	animation:assocFadeUp .45s ease;
}

.assoc-hero{
	position:relative;
	overflow:hidden;
	border-radius:22px;
	padding:10px;
	background:#0b3c5d;
	background-image:linear-gradient(135deg, #06283D 0%, #0B3C5D 48%, #115e59 100%);
	color:#ffffff;
	box-shadow:0 18px 40px rgba(0,0,0,.14);
	margin-bottom:14px;
}

.assoc-hero,
.assoc-hero *{
	color:#ffffff;
}



.assoc-hero-badge{
	color:#fff3cd !important;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.14);
}

.assoc-hero:before{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.08) 40%, transparent 60%);
	background-size:200% 100%;
	animation:assocShimmer 8s linear infinite;
	pointer-events:none;
}

.assoc-hero-badge{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.14);
	font-size:.82rem;
	font-weight:700;
	margin-bottom:12px;
	position:relative;
	z-index:2;
	animation:assocGlow 4.2s ease-in-out infinite;
}

.assoc-hero-title{
	font-size:1.55rem;
	font-weight:800;
	line-height:1.15;
	margin-bottom:8px;
	position:relative;
	z-index:2;
}

.assoc-hero-text{
	color:rgba(255,255,255,.92) !important;
	font-size:.95rem;
	line-height:1.55;
	position:relative;
	z-index:2;
	max-width:860px;
}
.assoc-hero-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	margin-top:16px;
	position:relative;
	z-index:2;
}

.assoc-hero-chip{
	background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.12);
	border-radius:16px;
	padding:12px;
	text-align:center;
	backdrop-filter:blur(2px);
}

.assoc-hero-chip i{
	font-size:1.1rem;
	margin-bottom:6px;
	animation:assocFloat 2.8s ease-in-out infinite;
}

.assoc-hero-chip strong{
	display:block;
	font-size:.95rem;
}

.assoc-hero-chip span{
	display:block;
	font-size:.75rem;
	color:rgba(255,255,255,.82);
	margin-top:2px;
}

.assoc-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:12px;
}

.assoc-card{
	border:1px solid var(--assoc-border);
	border-radius:18px;
	background:#fff;
	box-shadow:0 8px 24px rgba(0,0,0,.05);
	overflow:hidden;
}

.assoc-card-head{
	padding:12px 14px;
	background:linear-gradient(135deg, <?= $global_bg_cor; ?> 0%, #083b3b 100%);
	color:<?= $global_txt_cor; ?>;
	font-weight:800;
	display:flex;
	align-items:center;
	gap:8px;
}

.assoc-card-body{
	padding:14px;
}

.assoc-highlight-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
}

.assoc-highlight{
	border:1px solid rgba(0,0,0,.06);
	border-radius:16px;
	padding:12px;
	background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	box-shadow:0 4px 14px rgba(0,0,0,.03);
	position:relative;
	overflow:hidden;
}

.assoc-highlight:after{
	content:"";
	position:absolute;
	left:-120%;
	top:0;
	width:120%;
	height:100%;
	background:linear-gradient(90deg, transparent, rgba(245,158,11,.10), transparent);
	animation:assocShimmer 9s linear infinite;
}

.assoc-highlight i{
	font-size:1.2rem;
	margin-bottom:8px;
	display:inline-block;
	animation:assocFloat 3s ease-in-out infinite;
	position:relative;
	z-index:2;
}

.assoc-highlight-title{
	font-weight:800;
	color:var(--assoc-text);
	margin-bottom:4px;
	position:relative;
	z-index:2;
}

.assoc-highlight-text{
	font-size:.86rem;
	color:var(--assoc-muted);
	line-height:1.45;
	position:relative;
	z-index:2;
}

.assoc-price-box{
	border-radius:20px;
	padding:16px;
	background:linear-gradient(135deg, #fff7ed 0%, #fffbeb 100%);
	border:1px solid rgba(245,158,11,.25);
	box-shadow:0 8px 24px rgba(245,158,11,.10);
	text-align:center;
	animation:assocGlow 4.8s ease-in-out infinite;
}

.assoc-price-top{
	font-size:.84rem;
	color:#92400e;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.3px;
}

.assoc-price-value{
	font-size:2rem;
	font-weight:900;
	color:#b45309;
	line-height:1.05;
	margin:6px 0;
}

.assoc-price-sub{
	color:#78350f;
	font-size:.85rem;
}

.assoc-coupon{
	margin-top:10px;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	background:#fff;
	border:1px dashed rgba(180,83,9,.35);
	font-size:.86rem;
	font-weight:800;
	color:#92400e;
	animation:assocPulse 3.4s ease-in-out infinite;
}

.assoc-btn-main{
	display:block;
	width:100%;
	border:none;
	border-radius:14px;
	padding:12px 14px;
	font-weight:800;
	background:linear-gradient(135deg, var(--assoc-gold-1) 0%, var(--assoc-gold-2) 100%);
	color:#1f2937;
	margin-top:14px;
	box-shadow:0 10px 20px rgba(245,158,11,.20);
	text-decoration:none;
	text-align:center;
}

.assoc-btn-main:hover{
	color:#111827;
	filter:brightness(1.03);
}

.assoc-btn-alt{
	display:block;
	width:100%;
	border-radius:14px;
	padding:11px 14px;
	font-weight:700;
	text-decoration:none;
	text-align:center;
	margin-top:10px;
	background:#f8fafc;
	color:#0f172a;
	border:1px solid rgba(0,0,0,.08);
}

.assoc-list{
	display:grid;
	gap:8px;
	padding:0;
	margin:0;
	list-style:none;
}

.assoc-list li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	background:#f8fafc;
	border:1px solid rgba(0,0,0,.05);
	border-radius:12px;
	padding:10px 12px;
	font-size:.86rem;
	color:var(--assoc-text);
	line-height:1.4;
}

.assoc-list i{
	color:var(--assoc-success);
	margin-top:2px;
}

.assoc-accordion-btn{
	border:1px solid rgba(22,163,74,.28) !important;
	color:#15803d !important;
	border-radius:12px !important;
	background:#f0fdf4 !important;
	font-weight:700;
	box-shadow:none !important;
}

.assoc-accordion-btn:not(.collapsed){
	background:#dcfce7 !important;
	color:#166534 !important;
}

.assoc-section-title{
	font-size:.92rem;
	font-weight:800;
	color:var(--assoc-text);
	margin:14px 0 8px;
}

.assoc-pill{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 10px;
	border-radius:999px;
	font-size:.75rem;
	font-weight:800;
	margin:0 6px 6px 0;
}

.assoc-pill.gold{
	background:#fff7ed;
	color:#b45309;
	border:1px solid rgba(245,158,11,.20);
}

.assoc-pill.blue{
	background:#eff6ff;
	color:#1d4ed8;
	border:1px solid rgba(59,130,246,.20);
}

.assoc-pill.green{
	background:#ecfdf5;
	color:#047857;
	border:1px solid rgba(16,185,129,.20);
}

.assoc-note{
	font-size:.82rem;
	color:var(--assoc-muted);
	line-height:1.5;
	margin-top:10px;
}

@media (min-width: 992px){
	.assoc-grid{
		grid-template-columns:1.15fr .85fr;
	}
	.assoc-highlight-grid{
		grid-template-columns:repeat(2,1fr);
	}
}

@media (max-width: 767px){
	.assoc-hero{
		padding:16px;
		border-radius:18px;
	}
	.assoc-hero-title{
		font-size:1.3rem;
	}
	.assoc-hero-grid{
		grid-template-columns:repeat(2,1fr);
	}
}