/* Bevel Kit — theme widgets (front end + editor) */

.bvl-post-content--placeholder {
	padding: 40px 24px;
	border: 1px dashed rgba(0, 0, 0, 0.25);
	border-radius: 8px;
	text-align: center;
	opacity: 0.7;
}

.bvl-post-excerpt {
	margin: 0;
}

/* Archive posts grid */
.bvl-posts {
	display: grid;
	grid-template-columns: repeat(var(--bvl-columns, 3), minmax(0, 1fr));
	column-gap: var(--bvl-column-gap, 32px);
	row-gap: var(--bvl-row-gap, 40px);
}

.bvl-post {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bvl-post__image {
	display: block;
	aspect-ratio: var(--bvl-ratio, 3 / 2);
	overflow: hidden;
	margin: 0 0 18px;
}

.bvl-post__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bvl-post:hover .bvl-post__image img {
	transform: scale(1.04);
}

.bvl-post__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.bvl-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 0.8125em;
	letter-spacing: 0.02em;
	opacity: 0.8;
}

.bvl-post__meta a {
	text-decoration: none;
	color: inherit;
}

.bvl-post__title {
	margin: 0;
	line-height: 1.25;
}

.bvl-post__title a {
	color: inherit;
	text-decoration: none;
}

.bvl-post__excerpt {
	margin: 0;
}

.bvl-post__more {
	align-self: flex-start;
	margin-top: 4px;
	font-weight: 600;
	text-decoration: none;
}

.bvl-posts__empty {
	padding: 48px 24px;
	text-align: center;
	opacity: 0.8;
}

/* Pagination */
.bvl-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}

.bvl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 999px;
	color: inherit;
	text-decoration: none;
	line-height: 1;
	transition: background-color 0.2s, border-color 0.2s;
}

.bvl-pagination .page-numbers:hover {
	border-color: currentColor;
}

.bvl-pagination .page-numbers.current {
	border-color: currentColor;
	font-weight: 600;
}

.bvl-pagination .page-numbers.dots {
	border-color: transparent;
}

/* ---------------------------------------------------------- placeholder (editor) */
.bvl-placeholder { padding: 24px; border: 1px dashed #d4d4d8; border-radius: 10px; color: #71717a; text-align: center; font-size: 14px; }

/* ---------------------------------------------------------- search form */
.bvl-searchform { --bvl-search-size: 50px; --bvl-search-button-width: 1; display: flex; }
.bvl-searchform .elementor-search-form__container { display: flex; align-items: stretch; width: 100%; min-height: var(--bvl-search-size); overflow: hidden; background: #fff; }
.bvl-searchform .elementor-search-form__input { flex: 1; min-width: 0; height: auto; padding: 0 calc(var(--bvl-search-size) / 3); margin: 0; border: 0; background: transparent; font: inherit; color: inherit; outline: 0; box-shadow: none; -webkit-appearance: none; }
.bvl-searchform .elementor-search-form__input::-webkit-search-decoration, .bvl-searchform .elementor-search-form__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.bvl-searchform .elementor-search-form__icon { display: flex; align-items: center; padding-inline-start: calc(var(--bvl-search-size) / 3); font-size: calc(var(--bvl-search-size) / 2.6); }
.bvl-searchform .elementor-search-form__submit { display: flex; align-items: center; justify-content: center; min-width: calc(var(--bvl-search-size) * var(--bvl-search-button-width)); padding: 0 calc(var(--bvl-search-size) / 3); border: 0; margin: 0; font: inherit; font-size: calc(var(--bvl-search-size) / 2.6); cursor: pointer; transition: background-color 0.15s; }
.bvl-searchform--full_screen { --bvl-search-toggle-size: 33px; }
.bvl-searchform--full_screen .elementor-search-form__toggle { display: inline-flex; align-items: center; justify-content: center; width: calc(var(--bvl-search-toggle-size) * 1.6); height: calc(var(--bvl-search-toggle-size) * 1.6); border: 0; margin: 0; padding: 0; background: transparent; color: inherit; font-size: var(--bvl-search-toggle-size); cursor: pointer; }
.bvl-searchform--full_screen .elementor-search-form__overlay { position: fixed; inset: 0; z-index: 9998; display: flex; align-items: center; justify-content: center; padding: 24px; }
.bvl-searchform--full_screen .elementor-search-form__overlay[hidden] { display: none; }
.bvl-searchform--full_screen .elementor-search-form__container { width: min(720px, 100%); min-height: 64px; background: transparent; border: 0; border-bottom: 2px solid rgba(255, 255, 255, 0.5); border-radius: 0; }
.bvl-searchform--full_screen .elementor-search-form__input { color: #fff; font-size: clamp(22px, 4vw, 40px); }
.bvl-searchform--full_screen .elementor-search-form__input::placeholder { color: rgba(255, 255, 255, 0.6); }
.bvl-searchform--full_screen .elementor-search-form__close { position: absolute; top: 24px; inset-inline-end: 24px; border: 0; background: transparent; color: #fff; font-size: 28px; cursor: pointer; }

/* ---------------------------------------------------------- author box */
.bvl-author-box { display: flex; align-items: flex-start; gap: 24px; }
.bvl-author-box--layout-right .bvl-author-box { flex-direction: row-reverse; }
.bvl-author-box--layout-above .bvl-author-box { flex-direction: column; align-items: var(--bvl-author-align, flex-start); }
.bvl-author-box__avatar { display: block; width: 96px; height: 96px; object-fit: cover; }
.bvl-author-box__name { margin: 0 0 8px; }
.bvl-author-box__name a { color: inherit; text-decoration: none; }
.bvl-author-box__bio { margin: 0 0 12px; }
.bvl-author-box__bio p:last-child { margin-bottom: 0; }
.bvl-author-box__button { display: inline-block; padding: 8px 18px; border: 1px solid currentColor; border-radius: 6px; text-decoration: none; transition: background-color 0.15s, color 0.15s; }

/* ---------------------------------------------------------- post navigation */
.bvl-post-navigation { --bvl-nav-border-color: #e4e4e7; --bvl-nav-border-width: 1px; --bvl-nav-padding: 20px; display: flex; justify-content: space-between; gap: 16px; }
.bvl-post-navigation--borders-yes .bvl-post-navigation { border-top: var(--bvl-nav-border-width) solid var(--bvl-nav-border-color); border-bottom: var(--bvl-nav-border-width) solid var(--bvl-nav-border-color); padding: var(--bvl-nav-padding) 0; }
.bvl-post-navigation--borders-yes .bvl-post-navigation__item--next { border-inline-start: var(--bvl-nav-border-width) solid var(--bvl-nav-border-color); padding-inline-start: var(--bvl-nav-padding); }
.bvl-post-navigation__item { flex: 1; min-width: 0; }
.bvl-post-navigation__item--next { text-align: end; }
.bvl-post-navigation__link { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; max-width: 100%; }
.bvl-post-navigation__item--next .bvl-post-navigation__link { flex-direction: row-reverse; }
.bvl-post-navigation__text { display: flex; flex-direction: column; min-width: 0; }
.bvl-post-navigation__label { font-size: 0.85em; opacity: 0.75; }
.bvl-post-navigation__title { font-weight: 600; }
.bvl-post-navigation__arrow { display: inline-flex; font-size: 22px; line-height: 1; }
.bvl-post-navigation__arrow svg { width: 1em; height: 1em; fill: currentColor; }

/* ---------------------------------------------------------- post info */
.bvl-post-info { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; list-style: none; }
.bvl-post-info--traditional .bvl-post-info { flex-direction: column; }
.bvl-post-info__item { display: inline-flex; align-items: center; gap: 6px; }
.bvl-post-info__icon { display: inline-flex; line-height: 1; }
.bvl-post-info__icon svg { width: 1em; height: 1em; fill: currentColor; }
.bvl-post-info__avatar { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.bvl-post-info__text a { text-decoration: none; }
.bvl-post-info--divider-yes .bvl-post-info__item + .bvl-post-info__item { border-inline-start: 1px solid var(--bvl-info-divider, #d4d4d8); padding-inline-start: 16px; }
.bvl-post-info--divider-yes.bvl-post-info--traditional .bvl-post-info__item + .bvl-post-info__item { border-inline-start: 0; border-top: 1px solid var(--bvl-info-divider, #d4d4d8); padding: 8px 0 0; }

/* ---------------------------------------------------------- sitemap */
.bvl-sitemap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.bvl-sitemap__title { margin: 0 0 12px; }
.bvl-sitemap ul { list-style: none; margin: 0; padding: 0; }
.bvl-sitemap ul ul { padding-inline-start: 16px; margin-top: 6px; }
.bvl-sitemap li { margin-bottom: 6px; }
.bvl-sitemap li a { text-decoration: none; }
.bvl-sitemap--bullets-yes .bvl-sitemap ul { list-style: disc; padding-inline-start: 18px; }

/* ---------------------------------------------------------- breadcrumbs */
.bvl-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.bvl-breadcrumbs a { text-decoration: none; color: inherit; }
.bvl-breadcrumbs__sep { opacity: 0.6; }
.bvl-breadcrumbs [aria-current] { font-weight: 600; }
