/**
 * Faq 2 – layout fiel ao shadcn-ui-blocks: py-32, grid 2 colunas, contacto (avatar + link) + accordion FAQ.
 * Referência: shadcn-ui-blocks-master src/block/faq2.tsx
 */

.shadcn-faq2 {
	box-sizing: border-box;
	width: 100%;
	padding-top: var(--shadcn-faq2-padding-top, var(--sui-section-padding-top, 4rem));
	padding-bottom: var(--shadcn-faq2-padding-bottom, var(--sui-section-padding-bottom, 4rem));
}

.shadcn-faq2 *,
.shadcn-faq2 *::before,
.shadcn-faq2 *::after {
	box-sizing: border-box;
}

/* container */
.shadcn-faq2-container {
	width: 100%;
	max-width: 100rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
}

/* grid grid-cols-1 gap-8 lg:grid-cols-5 lg:gap-12 xl:grid-cols-12 xl:gap-16 */
.shadcn-faq2-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.shadcn-faq2-grid {
		grid-template-columns: repeat(5, 1fr);
		gap: 3rem;
	}
}

@media (min-width: 1280px) {
	.shadcn-faq2-grid {
		grid-template-columns: repeat(12, 1fr);
		gap: 4rem;
	}
}

/* Left: flex flex-col justify-between lg:col-span-2 xl:col-span-4 */
.shadcn-faq2-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

@media (min-width: 1024px) {
	.shadcn-faq2-left {
		grid-column: span 2;
	}
}

@media (min-width: 1280px) {
	.shadcn-faq2-left {
		grid-column: span 4;
	}
}

/* mb-8 flex items-start gap-3 sm:gap-4 lg:mb-12 */
.shadcn-faq2-contact-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 2rem;
}

@media (min-width: 640px) {
	.shadcn-faq2-contact-row {
		gap: 1rem;
	}
}

@media (min-width: 1024px) {
	.shadcn-faq2-contact-row {
		margin-bottom: 3rem;
	}
}

/* h-12 w-12 flex-shrink-0 overflow-hidden rounded-xl sm:h-16 sm:w-16 */
.shadcn-faq2-avatar-wrap {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	border-radius: 0.75rem;
}

@media (min-width: 640px) {
	.shadcn-faq2-avatar-wrap {
		width: 4rem;
		height: 4rem;
	}
}

.shadcn-faq2-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* min-w-0 */
.shadcn-faq2-contact-info {
	min-width: 0;
}

/* h2: tipografia no Personalizar */
.shadcn-faq2-contact-name {
	margin: 0 0 0.25rem;
	line-height: 1.25;
}

.shadcn-faq2-contact-role {
	margin: 0;
	line-height: 1.5;
	color: var(--sui-gp-text);
}

/* space-y-4 lg:space-y-6 */
.shadcn-faq2-help-block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media (min-width: 1024px) {
	.shadcn-faq2-help-block {
		gap: 1.5rem;
	}
}

/* h3: tipografia no Personalizar */
.shadcn-faq2-help-title {
	margin: 0;
}

.shadcn-faq2-help-desc {
	margin: 0;
	line-height: 1.3;
	color: var(--sui-gp-text-muted);
}

/* py-4 */
.shadcn-faq2-contact-cta {
	padding-top: 1rem;
	padding-bottom: 1rem;
}

/* group flex h-auto p-0 text-base font-medium text-start hover:bg-transparent sm:text-xl */
.shadcn-faq2-contact-link {
	display: inline-flex;
	align-items: center;
	height: auto;
	padding: 0;
	text-align: left;
	text-decoration: none;
	color: inherit;
}

.shadcn-faq2-contact-link:hover {
	background: transparent;
}

/* border-b-2 border-border pb-0.5 transition-colors */
.shadcn-faq2-contact-link-text {
	border-bottom: 2px solid var(--border, #e4e4e7);
	padding-bottom: 0.125rem;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.shadcn-faq2-contact-link:hover .shadcn-faq2-contact-link-text {
	border-color: var(--sui-gp-text);
}

/* ml-1 h-5 w-6 transition-transform group-hover:-translate-y-0.5 group-hover:translate-x-0.5 */
.shadcn-faq2-contact-link-icon {
	margin-left: 0.25rem;
	width: 1.5rem;
	height: 1.25rem;
	flex-shrink: 0;
	transition: transform 0.15s ease;
}

.shadcn-faq2-contact-link:hover .shadcn-faq2-contact-link-icon {
	transform: translate(-0.125rem, -0.125rem);
}

/* Right: lg:col-span-3 xl:col-span-8 */
.shadcn-faq2-right {
	/* default full width in 1-col */
}

@media (min-width: 1024px) {
	.shadcn-faq2-right {
		grid-column: span 3;
	}
}

@media (min-width: 1280px) {
	.shadcn-faq2-right {
		grid-column: span 8;
	}
}

/* mb-8 md:text-center lg:mb-16 lg:text-left */
.shadcn-faq2-title-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 2rem;
	text-align: left;
}

@media (min-width: 768px) {
	.shadcn-faq2-title-wrap {
		text-align: center;
	}
}

@media (min-width: 1024px) {
	.shadcn-faq2-title-wrap {
		margin-bottom: 4rem;
		text-align: left;
	}
}

/* h2: tipografia no Personalizar */
.shadcn-faq2-main-title {
	margin: 0;
}

/* max-w-none */
.shadcn-faq2-accordion-wrap {
	max-width: none;
}

/* flex w-full flex-col space-y-0 */
.shadcn-faq2-accordion {
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0;
}

/* border-b last:border-b-0 border-border */
.shadcn-faq2-accordion-item {
	border-bottom: 1px solid var(--border, #e4e4e7);
}

.shadcn-faq2-accordion-item:last-child {
	border-bottom: 0;
}

.shadcn-faq2-accordion-heading {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}

/* details/summary: trigger py-6 text-left text-lg font-semibold lg:py-8 lg:text-xl, chevron rotate when open */
.shadcn-faq2-details {
	margin: 0;
}

.shadcn-faq2-trigger {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 0.75rem 0;
	text-align: left;
	color: var(--sui-gp-text);
	font: inherit;
	font-weight: 600;
	background: none;
	border: none;
	cursor: pointer;
	list-style: none;
	transition: color 0.15s ease;
}

@media (min-width: 640px) {
	.shadcn-faq2-trigger {
		padding: 1rem 0;
	}
}

@media (min-width: 1024px) {
	.shadcn-faq2-trigger {
		padding: 1rem 0;
	}
}

.shadcn-faq2-trigger::-webkit-details-marker {
	display: none;
}

.shadcn-faq2-trigger:hover {
	text-decoration: none;
}

.shadcn-faq2-trigger:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px var(--ring, rgba(0 0 0 / 0.1));
	border-radius: 0.375rem;
}

.shadcn-faq2-trigger-text {
	padding-right: 1rem;
	flex: 1;
	min-width: 0;
}

/* lucide chevron-down: size-4 shrink-0 translate-y-0.5, rotate 180 when open */
.shadcn-faq2-chevron {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	transform: translateY(0.125rem);
	transition: transform 0.2s ease;
	color: var(--sui-gp-text-muted);
	pointer-events: none;
}

.shadcn-faq2-details[open] .shadcn-faq2-chevron {
	transform: translateY(0.125rem) rotate(180deg);
}

.shadcn-faq2-content {
	overflow: hidden;
	line-height: 1.3;
	color: var(--sui-gp-text-muted);
	padding-bottom: 1rem;
}

.shadcn-faq2-content p:first-child {
	margin-top: 0;
}

.shadcn-faq2-content p:last-child {
	margin-bottom: 0;
}
