/* 
   Jet Premium Cards Elementor Widget
   Redesign: Xtreme Travel Premium Identity
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

.jpc-e6e7-wrapper {
	font-family: 'Montserrat', sans-serif;
	color: #333333;
}

/* Elegant Premium Card */
.jpc-e6e7-card {
	background-color: #ffffff;
	border-radius: 6px;
	padding: 32px;
	margin-bottom: 24px;
	border: 1px solid rgba(0,0,0,0.04);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
	transition: all 0.3s ease;
}

/* Titles: Montserrat Bold, subtle */
.jpc-e6e7-title {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 1.1rem;
	color: #222222;
	margin: 0 0 10px 0;
	letter-spacing: 0.02em;
	text-transform: none;
}

.jpc-e6e7-center {
	text-align: center;
}

/* Body Text: Montserrat Regular, Justified, 0.55rem */
.jpc-e6e7-body,
.jpc-e6e7-body p,
.jpc-e6e7-body div,
.jpc-e6e7-body span,
.jpc-e6e7-list-inc ul li,
.jpc-e6e7-list-exc ul li {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400 !important;
	font-size: 0.55rem !important;
	line-height: 1.6;
	color: #555555;
	text-align: justify !important;
	margin-bottom: 0;
}

.jpc-e6e7-body p {
	margin-bottom: 12px;
}
.jpc-e6e7-body p:last-child {
	margin-bottom: 0;
}

/* Image + Text (30 / 70) */
.jpc-e6e7-layout-30-70 {
	display: flex;
	gap: 30px;
	align-items: flex-start;
}
.jpc-e6e7-img-col {
	flex: 0 0 30%;
	max-width: 30%;
}
.jpc-e6e7-img-col img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	object-fit: cover;
	display: block;
}
.jpc-e6e7-text-col {
	flex: 1;
}

/* Added spacing between title and text for Text+Image layout */
.jpc-e6e7-text-col .jpc-e6e7-title {
    margin-bottom: 16px;
}

/* Split Columns (Included / Excluded) */
.jpc-e6e7-layout-split {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}
.jpc-e6e7-col {
	flex: 1;
}

/* Subtle Lists */
.jpc-e6e7-list-inc ul,
.jpc-e6e7-list-exc ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.jpc-e6e7-list-inc ul li,
.jpc-e6e7-list-exc ul li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
}
.jpc-e6e7-list-inc ul li::before {
	content: "•";
	position: absolute;
	left: 0;
	top: 0;
	color: #666666;
	font-size: 0.8rem;
}
.jpc-e6e7-list-exc ul li {
	color: #888888;
}
.jpc-e6e7-list-exc ul li::before {
	content: "-";
	position: absolute;
	left: 0;
	top: 0;
	color: #aaaaaa;
}

/* Map Frame (70% width, centered) */
.jpc-e6e7-map-container {
	width: 70%;
	margin: 16px auto 0 auto;
}
.jpc-e6e7-map-container img {
	width: 100%;
	height: auto;
	border-radius: 4px;
	display: block;
}

/* Value Table */
.jpc-e6e7-value-table {
	width: 100%;
	border-top: 1px solid rgba(0,0,0,0.05);
	margin-top: 16px;
}
.jpc-e6e7-v-header {
	display: flex;
	padding: 12px 0;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	font-family: 'Montserrat', sans-serif;
	font-size: 0.55rem;
	font-weight: 600;
	color: #333333;
}
.jpc-e6e7-v-row {
	display: flex;
	padding: 12px 0;
	border-bottom: 1px solid rgba(0,0,0,0.03);
	font-family: 'Montserrat', sans-serif;
	font-size: 0.55rem;
	font-weight: 400;
	color: #555555;
	align-items: center;
}
.jpc-e6e7-v-header > div,
.jpc-e6e7-v-row > div {
	flex: 1;
}
.jpc-e6e7-v-val {
	font-weight: 600;
	color: #222;
	text-align: right;
}
.jpc-e6e7-right {
	text-align: right;
}

/* Standard Table */
.jpc-e6e7-standard-table table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.55rem !important;
}
.jpc-e6e7-standard-table th,
.jpc-e6e7-standard-table td {
	padding: 10px 0;
	border-bottom: 1px solid rgba(0,0,0,0.04);
	text-align: left;
	font-weight: 400;
	color: #555;
}
.jpc-e6e7-standard-table th {
	font-weight: 600;
	color: #333;
}

/* --- Bicicletas do Pacote --- */
.jpc-e6e7-bikes-container {
	display: grid;
	gap: 24px;
	margin-top: 20px;
}

/* 1 Bike */
.jpc-e6e7-bikes-1 {
	grid-template-columns: 1fr;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

/* 2 Bikes */
.jpc-e6e7-bikes-2 {
	grid-template-columns: 1fr 1fr;
}

/* 3 Bikes */
.jpc-e6e7-bikes-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

.jpc-e6e7-bike {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
}

.jpc-e6e7-bike img.xt-bike-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin-bottom: 16px;
	object-fit: contain;
}

.jpc-e6e7-bike-title {
	margin-bottom: 10px;
	color: #222;
	text-align: center;
}

.jpc-e6e7-bike-desc {
	text-align: center !important; /* Center text for bikes instead of justify for better look in small columns */
	width: 100%;
}

.xt-bike-price {
    margin-top: 10px;
    margin-bottom: 20px;
}

.xt-bike-price-value {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600; /* or 700 */
    font-size: 0.65rem; /* slightly larger than description (0.55rem) */
    color: #1B4030;
}


/* Responsive */
@media (max-width: 768px) {
	.jpc-e6e7-card {
		padding: 24px;
	}
	.jpc-e6e7-layout-30-70,
	.jpc-e6e7-layout-split {
		flex-direction: column;
		gap: 24px;
	}
	.jpc-e6e7-img-col,
	.jpc-e6e7-map-container {
		width: 100%;
		max-width: 100%;
	}
	.jpc-e6e7-v-header {
		display: none; /* Hide header on mobile for cleaner look */
	}
	.jpc-e6e7-v-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding: 16px 0;
	}
	.jpc-e6e7-v-val {
		text-align: left;
		margin-top: 4px;
	}
	
	/* Mobile Bikes Layout */
	.jpc-e6e7-bikes-container {
		grid-template-columns: 1fr !important;
	}
	.jpc-e6e7-bike {
		width: 100%;
		margin-bottom: 20px;
	}
	
	/* The card itself should be full-width on mobile without rounding based on design specs */
	.xt-bike-card {
		border-radius: 0;
		border-left: 0;
		border-right: 0;
		padding-left: 16px;
		padding-right: 16px;
		box-shadow: none;
	}
}