/* =======================================
   BG·LBC - ASSOCIADOS
   Layout do CPT Associados
========================================*/

/* Color Set */
:root {
	--the-red: #BA2229;
	--the-black: #1A1919;
	--the-white: #FFFFFF;
	--the-light-gray: #f0f0f0;
	--the-medium-gray: #999999;
	--the-dark-gray: #666666;
}

/* ------------------------------
   CONTAINER PRINCIPAL
------------------------------ */
.bglbc_as_main {
	--pad-lr: clamp(16px, 6vw, 80px);

	display: grid;
	grid-template-columns: minmax(8rem, 14%) 1fr auto;
	column-gap: clamp(2rem, 4vw, 7rem);
	row-gap: clamp(0.75rem, 2vw, 2rem);
	padding-left: var(--pad-lr);
	padding-right: var(--pad-lr);
	padding-bottom: 40px;
	margin-bottom: 40px;
	background: rgba(255, 255, 255, 0.01);
	box-shadow: rgb(234, 234, 234) 0px -1px 0px inset;
	box-sizing: border-box;
	align-items: center;
}

/* ------------------------------
   COLUNAS
------------------------------ */
.bglbc_as_imagemdestaque {
	grid-column: 1;
	min-width: 8rem;
}

.bglbc_as_dados {
	grid-column: 2;
	min-width: 14rem;
	display: grid;
	grid-auto-rows: min-content;
	row-gap: clamp(0.5rem, 0.8vw, 1rem);
	align-self: stretch;
	margin: 0;
}

.bglbc_as_arrow {
	grid-column: 3;
	display: grid;
	align-items: center;
	justify-items: end;
}

/* ------------------------------
   IMAGEM
------------------------------ */
.bglbc_as_imagemdestaque img.bglbc_as_fdimg {
	width: 100%;
	height: auto;
	max-height: 18rem;
	object-fit: contain;
	display: block;
	border-radius: 0.25rem;

}

/* ------------------------------
   NOME ASSOCIADO
------------------------------ */
.bglbc_as_nomeassociado {
	font-family: "Exo 2", sans-serif;
	font-weight: 600;
	font-size: clamp(18px, 1.5vw, 24px);
	line-height: clamp(32px, 1.5vw, 40px);
	color: var(--the-red);
	margin-bottom: 24px;
}

/* ------------------------------
   DADOS
------------------------------ */
.bglbc_as_datatitle {
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: clamp(12px, 1.2vw, 16px);
	line-height: clamp(22px, 2vw, 26px);
	color: var(--the-black);
	margin: 0 !important;
}

.bglbc_as_datacontent {
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(12px, 1.2vw, 16px);
	line-height: clamp(22px, 2vw, 26px);
	color: var(--the-black);
	margin: 0 !important;
}

/* ------------------------------
   META / CONTACTOS
------------------------------ */
.bglbc_as_meta {
	display: flex;
	flex-direction: column;
	gap: clamp(0.35rem, 0.4vw, 0.8rem);
}

.bglbc_as_telmail {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.bglbc_as_website {
	margin-top: 24px;
}

.bglbc_as_website a.bglbc_as_w_url {
	font-weight: 700;
	font-family: "Inter", sans-serif;
	font-style: normal;
	font-size: 16px;
	line-height: 24px;
	color: var(--the-red);
	text-decoration: none;
	transition: color 0.3s ease;
}

.bglbc_as_website a.bglbc_as_w_url:hover {
	color: var(--the-black);
}

/* ------------------------------
   ARROW SVG
------------------------------ */
.bglbc_as_arrow a {
	display: inline-flex;
	justify-content: flex-end;
	width: auto;
}

.bglbc_as_arrow svg {
	width: clamp(36px, 7vw, 50%);
	height: auto;
	display: block;
	cursor: pointer;
	color: var(--the-black);
	transition: color 0.3s ease;
}

/* Hover com bounce decrescente */
.bglbc_as_arrow svg:hover {
	color: var(--the-red);
	animation: bounceRight 0.9s ease forwards;
}

@keyframes bounceRight {
	0%   { transform: translateX(0); }
	20%  { transform: translateX(10px); }
	40%  { transform: translateX(0); }
	60%  { transform: translateX(5px); }
	80%  { transform: translateX(0); }
	90%  { transform: translateX(2.5px); }
	100% { transform: translateX(2.5px); }
}

/* ------------------------------
   ELEMENTOR SPECIFIC
------------------------------ */
.elementor .bglbc_as_main,
.elementor-widget .bglbc_as_main,
.elementor-column .bglbc_as_main {
	padding-left: var(--pad-lr);
	padding-right: var(--pad-lr);
}

/* ------------------------------
   RESPONSIVO
------------------------------ */
@media (max-width: 1200px) {
	.bglbc_as_main {
		column-gap: clamp(1rem, 3vw, 4rem);
		padding-left: clamp(12px, 5vw, 60px);
		padding-right: clamp(12px, 5vw, 60px);
	}
}

@media (max-width: 900px) {
	.bglbc_as_main {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: clamp(1rem, 4vw, 2rem);
		padding-left: clamp(12px, 5vw, 60px);
		padding-right: clamp(12px, 5vw, 60px);
	}

	.bglbc_as_imagemdestaque {
		grid-column: 1;
		justify-self: start;
	}
	.bglbc_as_imagemdestaque img.bglbc_as_fdimg {
		width: 50%;
		height: auto;
		max-height: none;
		object-fit: contain;

	}

	.bglbc_as_dados {
		grid-column: 1;
		margin-top: 1rem;
	}

	.bglbc_as_arrow {
		grid-column: 1;
		justify-items: start;
		margin-top: 1rem;
	}
	.bglbc_as_arrow a {
		justify-content: flex-start;
		width: auto;
	}
	.bglbc_as_arrow svg {
		width: clamp(50px, 10vw, 80px);
		height: auto;
		display: block;
	}
}



@media (max-width: 600px) {
	.bglbc_as_main {
		padding-left: 3%;
		padding-right: 3%;
		gap: clamp(0.5rem, 4vw, 1rem);
	}

	.bglbc_as_nomeassociado {
		font-size: clamp(16px, 4vw, 20px);
		line-height: clamp(28px, 4vw, 32px);
	}

	.bglbc_as_datatitle,
	.bglbc_as_datacontent {
		font-size: clamp(12px, 3.5vw, 14px);
		line-height: clamp(20px, 3.5vw, 22px);
	}

	.bglbc_as_arrow svg {
		width: clamp(30px, 20vw, 50px);
	}
}