/**
 * Product Card Box Widget — front-end styles
 * Prefix used throughout: pcbw-
 *
 * NOTE: Base sizing (500x345, 24px padding, 40px gap) and the hover
 * transition/scale/shadow are intentionally hardcoded here — they were
 * specified as exact/fixed requirements. Border width/radius, overlay
 * color/reach, and typography/text colors are all controlled dynamically
 * from the Elementor Style tab and are injected by Elementor as
 * higher-specificity inline `<style>` rules, so they safely override the
 * defaults below.
 */

/* ==========================================================
   Grid wrapper
   ========================================================== */
.pcbw-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 345px);
	gap: 50px;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
}

/* ==========================================================
   Card
   ========================================================== */
.pcbw-card {
	position: relative;
	display: block;
	width: min(345px, 100%);
	height: 500px;
	padding: 20px 40px;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid #A9AEB6;
	border-radius: 20px;
	text-decoration: none;
	color: inherit;
	background-color: #fefefe; /* visible fallback while the image loads */
	transition: border-color 0.2s cubic-bezier(0.77, 0, 0.175, 1);
}

.pcbw-card:hover,
.pcbw-card:focus-within {
/* 	transform: translateY(0px) scale(1);
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0.0); */
	border-color: #A9AEB6;
}

/* .pcbw-card:focus-visible {
	outline: 1px solid #A9AEB6;
	outline-offset: 1px;
} */

/* ==========================================================
   Background image
   ========================================================== */
.pcbw-card-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
	transition: transform 0.3s ease-in-out;
}

 .pcbw-card:hover .pcbw-card-image {
	transform: scale(1);
}

/* ==========================================================
   Bottom-to-top readability overlay
   ========================================================== */
.pcbw-card-overlay {
	--pcbw-overlay-stop: 70%;
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0) var(--pcbw-overlay-stop, 70%)
	);
	pointer-events: none;
}

/* ==========================================================
   Text content
   ========================================================== */
.pcbw-card-content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
}

.pcbw-card-heading {
	margin: 10px 0 8px 0;
	font-size: 15px;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1.3;
	color: #0B849D;
	border: 1px solid #0B849D;
	padding: 10px 20px;
	border-radius: 30px;
	display:inline-flex;
	width: fit-content;
	transition: 
    border-color 1.5s cubic-bezier(0.17, 0, 0.175, 1),
    transform 1.5s cubic-bezier(0.17, 0, 0.175, 1);
}

 .pcbw-card:hover .pcbw-card-heading {
/* 	transition: padding 0.9s cubic-bezier(0.77, 0, 0.175, 1); */
	 color: #ffffff !important;
	border: 1px solid #0B849D;
	 background-color: #0B849D;
	 padding: 10px 25px;
}

.pcbw-card-description {
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
	color: #545456;
	padding: 12px 0 0 0;
	text-align:justify;
}

/* ==========================================================
   Responsive columns
   Desktop (default, >1024px): 4 columns
   Tablet  (<=1024px):         2 columns
   Mobile  (<=767px):          1 column
   ========================================================== */
@media (max-width: 1024px) {
	.pcbw-cards-grid {
		grid-template-columns: repeat(2, 345px);
	}
}

@media (max-width: 767px) {
	.pcbw-cards-grid {
		grid-template-columns: minmax(0, 345px);
	}

	.pcbw-card {
		width: 100%;
		max-width: 345px;
	}
}
