/*
 * Hamo Carrossel - Cards — carrossel de cards (ícone/svg + título + descrição
 * + botão) sobre o Swiper que o Elementor já traz. Tudo responsivo e
 * personalizável pelos controles (vars --hamo-cc-*). Nunca declarar aqui os
 * defaults das vars escritas pelos controles — só consumir com var(--x, fb).
 */

.hamo-cc {
	position: relative;
}

.hamo-cc__viewport {
	overflow: hidden;
}

.hamo-cc .swiper-wrapper {
	align-items: stretch;
}

/* Slides com a mesma altura (o card preenche). */
.hamo-cc__slide {
	height: auto;
	display: flex;
}

/* ---------------- Card ---------------- */
.hamo-cc__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	align-items: var(--hamo-cc-align, flex-start);
	justify-content: var(--hamo-cc-justify, flex-start);
	text-align: var(--hamo-cc-text-align, left);
	gap: var(--hamo-cc-gap, 16px);
	padding: var(--hamo-cc-card-pad, 32px);
	min-height: var(--hamo-cc-card-minh, auto);
	border-radius: var(--hamo-cc-card-radius, 16px);
}

/* Empurra o botão para a base (cards de mesma altura). */
.hamo-cc-btn-bottom-yes .hamo-cc__btn {
	margin-top: auto;
}

/* ---------------- Ícone / SVG / Imagem ---------------- */
.hamo-cc__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	margin-bottom: var(--hamo-cc-icon-gap, 4px);
	color: var(--hamo-cc-icon-color, currentColor);
}

.hamo-cc__icon svg {
	width: var(--hamo-cc-icon-size, 44px);
	height: var(--hamo-cc-icon-size, 44px);
	fill: var(--hamo-cc-icon-color, currentColor);
}

.hamo-cc__icon i {
	font-size: var(--hamo-cc-icon-size, 44px);
	color: var(--hamo-cc-icon-color, currentColor);
	line-height: 1;
}

.hamo-cc__icon img {
	width: var(--hamo-cc-icon-size, 44px);
	height: auto;
	max-width: 100%;
}

/* ---------------- Textos ---------------- */
.hamo-cc__title {
	width: 100%;
	margin: 0;
}

.hamo-cc__desc {
	width: 100%;
	margin: 0;
	line-height: 1.6;
}

/* ---------------- Botão ---------------- */
.hamo-cc__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

a.hamo-cc__btn:hover {
	transform: translateY(-2px);
}

/* ---------------- Setas ---------------- */
.hamo-cc__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--hamo-cc-arrow-box, 44px);
	height: var(--hamo-cc-arrow-box, 44px);
	padding: 0;
	margin: 0;
	border: none;
	cursor: pointer;
	border-radius: var(--hamo-cc-arrow-radius, 50%);
	background: var(--hamo-cc-arrow-bg, transparent);
	color: var(--hamo-cc-arrow-color, #ffffff);
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}

.hamo-cc__arrow svg {
	width: var(--hamo-cc-arrow-size, 20px);
	height: var(--hamo-cc-arrow-size, 20px);
	fill: currentColor;
}

.hamo-cc__arrow--prev {
	left: var(--hamo-cc-arrow-offset, 8px);
}

.hamo-cc__arrow--next {
	right: var(--hamo-cc-arrow-offset, 8px);
}

.hamo-cc__arrow:hover {
	background: var(--hamo-cc-arrow-hover-bg, var(--hamo-cc-arrow-bg, transparent));
	color: var(--hamo-cc-arrow-hover-color, var(--hamo-cc-arrow-color, #ffffff));
}

.hamo-cc__arrow.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
}

/* ---------------- Dots ---------------- */
.hamo-cc__pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--hamo-cc-dot-gap, 8px);
	margin-top: var(--hamo-cc-dots-spacing, 24px);
}

.hamo-cc__pagination .swiper-pagination-bullet {
	width: var(--hamo-cc-dot-size, 9px);
	height: var(--hamo-cc-dot-size, 9px);
	margin: 0 !important;
	background: var(--hamo-cc-dot-color, rgba(0, 0, 0, 0.25));
	opacity: 1;
	border-radius: 50%;
	transition: background-color 0.2s ease, width 0.2s ease;
}

.hamo-cc__pagination .swiper-pagination-bullet-active {
	background: var(--hamo-cc-dot-active, #7a1f3d);
	width: var(--hamo-cc-dot-active-size, var(--hamo-cc-dot-size, 9px));
	border-radius: var(--hamo-cc-dot-size, 9px);
}

/* Placeholder no editor sem cards. */
.hamo-cc__placeholder {
	padding: 24px;
	text-align: center;
	opacity: 0.6;
	border: 1px dashed currentColor;
	border-radius: 8px;
}
