/* Elevate Phone — Blog listing (/blog/) styling.
   Scoped to the shortcode wrappers so nothing leaks into the rest of the site. */

/* ---------- Refine results card ---------- */
.eb-refine {
	background: #ffffff;
	border: 1px solid #EDF1F7;
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(16, 42, 90, 0.06);
	padding: 26px 26px 28px;
}
.eb-refine__head {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 22px;
}
.eb-refine__ficon {
	display: inline-flex;
	color: #1B62E0;
}
.eb-refine__ficon svg { width: 18px; height: 18px; }
.eb-refine__htitle {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: #0A1B3A;
}
.eb-refine__label {
	display: block;
	margin: 0 0 8px;
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #0A1B3A;
}
.eb-refine__input,
.eb-refine__select {
	width: 100%;
	box-sizing: border-box;
	padding: 13px 14px;
	border: 1px solid #E3E8F0;
	border-radius: 10px;
	background: #ffffff;
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #0A1B3A;
	margin-bottom: 20px;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.eb-refine__input::placeholder { color: #9AA6BF; }
.eb-refine__input:focus,
.eb-refine__select:focus {
	border-color: #1B62E0;
	box-shadow: 0 0 0 3px rgba(27, 98, 224, 0.12);
}
.eb-refine__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 48px;
	color: #6B7A99;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7A99' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 38px;
}
.eb-refine__btn {
	width: 100%;
	border: none;
	cursor: pointer;
	background: #1B62E0;
	color: #ffffff;
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-size: 15px;
	padding: 14px;
	border-radius: 10px;
	transition: background 0.15s ease;
}
.eb-refine__btn:hover { background: #1550c4; }

/* ---------- Breadcrumb ---------- */
.eb-crumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	margin: 0 0 16px;
}
.eb-crumbs a { color: #5A6B88; text-decoration: none; }
.eb-crumbs a:hover { color: #1B62E0; }
.eb-crumbs__sep { color: #B9C3D6; }
.eb-crumbs__current { color: #0A1B3A; font-weight: 600; }

/* ---------- Author profile header ---------- */
.eb-avatar img,
.eb-author-avatar img { object-fit: cover; }

/* ---------- Result count ---------- */
.eb-count {
	margin: 0 0 24px;
	font-family: "Inter", sans-serif;
	font-size: 18px;
	color: #5A6B88;
}

/* ---------- Card grid ---------- */
.eb-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.eb-grid-wrap { min-width: 0; }
/* Let the main column size from the remaining row space (not its content width)
   so the 3-up grid stays inside the row. */
.elementor-element-blogmain { flex: 1 1 0 !important; min-width: 0; }
.elementor-element-blogmain > .elementor-widget-shortcode,
.elementor-element-blogmain > .elementor-widget-shortcode > .elementor-widget-container { min-width: 0; }
.eb-card {
	background: #ffffff;
	border: 1px solid #EEF1F6;
	border-radius: 16px;
	box-shadow: 0 16px 36px rgba(16, 42, 90, 0.07);
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
}
/* Image fills the card top edge-to-edge; the card's own 16px radius clips the
   top corners (overflow:hidden), so the image radius matches the container. */
.eb-card__imgwrap {
	display: block;
	border-radius: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
/* height:100%!important beats Astra's global img{height:auto}, so the image
   fills the frame (object-fit crops) instead of leaving a band below it. */
.eb-card__img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.eb-card__img--ph { display: block; width: 100%; height: 100%; }
.eb-card__body {
	padding: 16px 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.eb-card__meta {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: nowrap;
	color: #6B7A99;
	font-family: "Inter", sans-serif;
	font-size: 13px;
}
.eb-meta { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.eb-meta svg { width: 15px; height: 15px; }
.eb-card__title { margin: 0; }
.eb-card__title a {
	font-family: "Sora", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	color: #0A1B3A;
	text-decoration: none;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eb-card__excerpt {
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: #5A6B88;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.eb-card__btn {
	margin-top: 6px;
	display: block;
	text-align: center;
	background: #1B62E0;
	color: #ffffff;
	text-decoration: none;
	font-family: "Inter", sans-serif;
	font-weight: 600;
	font-size: 15px;
	padding: 13px;
	border-radius: 10px;
	transition: background 0.15s ease;
}
.eb-card__btn:hover { background: #1550c4; color: #ffffff; }

/* ---------- Pagination ---------- */
.eb-pagination {
	display: flex;
	gap: 8px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 42px;
}
.eb-pagination a,
.eb-pagination span {
	min-width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border: 1px solid #E3E8F0;
	border-radius: 10px;
	color: #41506B;
	text-decoration: none;
	font-family: "Inter", sans-serif;
	font-weight: 500;
	font-size: 14px;
}
.eb-pagination a:hover { border-color: #1B62E0; color: #1B62E0; }
.eb-pagination .current {
	background: #1B62E0;
	border-color: #1B62E0;
	color: #ffffff;
}

.eb-empty {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	color: #5A6B88;
	padding: 30px 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.eb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
	.eb-grid { grid-template-columns: 1fr; }
	.eb-card__title a { white-space: normal; }
}
