/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/


@keyframes pencil-slide-in {
  to {
    transform: translateX(0);
  }
}

.animate-pencil {
  animation: pencil-slide-in 1s ease-out forwards;
	animation-delay: .5s;
}


@media (max-width: 768px) {
  .mobile-sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: transform 0.3s ease;
  }

  .mobile-sticky-header.visible {
    transform: translateY(0);
  }
}


.pricing__cards {
	display: flex;
	gap: 25px !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 1.5rem;
	scroll-padding-right: 1.5rem;
	padding: 0 1.5rem 1rem;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;

	/* Hide scrollbar cross-browser */
	scrollbar-width: none;        /* Firefox */
	-ms-overflow-style: none;     /* IE/Edge */
}

.pricing__cards::-webkit-scrollbar {
	display: none;                /* Chrome/Safari */
}

.pricing__card {
	min-width: 80%;
	max-width: 80%;
	scroll-snap-align: start;
	flex-shrink: 0;
}

.pricing__cards.dragging {
	cursor: grabbing;
	user-select: none;
}

@media screen and (min-width: 1024px) {
	.pricing__cards {
		overflow-x: visible;
		flex-wrap: wrap;
	}

	.pricing__card {
		max-width: 100%;
		min-width: 0;
		flex: 1 1 0;
	}
}

/** Comparison Table **/
.comparison__container {
	display: block; /* Allow horizontal scroll on small screens */
	overflow-x: auto;
	width: 100%;
}

.comparison__table {
	display: table;
	width: 100%;
	border-collapse: collapse;
	min-width: 600px; /* Ensures there's enough content to scroll */
	background-color: #fff;
	padding: 10px;
}

.comparison__row {
	display: table-row;
}

.comparison__row:nth-child(even) .comparison__cell {
	background: #EAF4E3 !important;
}

.comparison__row:not(:last-child) .comparison__cell {
	border-bottom: 1px solid var(--main-color);
}

.comparison__cell {
	display: table-cell;
	padding: 1rem;
	text-align: left;
	white-space: nowrap;
	height: 100%;
	font-size: 14px;
	line-height: 1.2em;
	word-break: break-word;
	white-space: normal;
	overflow-wrap: break-word;
	vertical-align: middle;
}

.comparison__cell--feature {
	text-align: left;
	background-color: #fff;
	left: 0;
	z-index: 2;
	min-width: 150px;
	box-shadow: 2px 0 5px rgba(0, 0, 0, 0.05);
}

/* Sticky header row */
.comparison__row--header .comparison__cell {
	font-weight: bold;
	top: 0;
	z-index: 3;
	font-size: 20px;
}

.comparison__first-col {
	position: sticky;
	left: 0px;
	background: #fff;
	box-shadow: 2px 0px 30px -10px rgba(0,0,0,.1);
}

/* Desktop: restore grid layout */
@media screen and (min-width: 1024px) {
	.comparison__container {
		overflow-x: visible;
	}

	.comparison__table {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}

	.comparison__row {
		display: contents;
	}

	.comparison__cell {
		display: block;
	}

	.comparison__cell--feature {
		position: static;
		box-shadow: none;
	}

	.comparison__row--header .comparison__cell {
		position: static;
	}
	.comparison__first-col {
		box-shadow: none;
	}
	
	.comparison__cell:not(.comparison__cell--feature) > * {
		display: flex;
		align-items: center;
		vertical-align: middle;
		height: 100%;
	}
}

@media screen and (max-width:767px) {
	.comparison__first-col {
		border-left: 1px solid var(--main-color);
	}
}