/* =========================================================
   BLOG VITRINE — Estilos gerais
   Identidade visual: azul primário, azul claro secundário e preto.
   Uso de !important para sobrepor estilos herdados do tema.
   ========================================================= */

:root {
	--bv-primary: #1081E8;
	--bv-secondary: #B5D9F4;
	--bv-dark: #000000;
	--bv-white: #ffffff;
	--bv-gray-50: #f7f9fc;
	--bv-gray-200: #e6ebf1;
	--bv-gray-500: #6b7686;
	--bv-radius: 16px;
	--bv-radius-sm: 10px;
	--bv-shadow: 0 6px 24px rgba(16, 129, 232, 0.10);
	--bv-shadow-hover: 0 20px 40px rgba(16, 129, 232, 0.22);
	--bv-transition: all .35s cubic-bezier(.22,1,.36,1);
}

.bv-carousel,
.bv-listagem,
.bv-single {
	box-sizing: border-box !important;
}

.bv-carousel *,
.bv-listagem *,
.bv-single * {
	box-sizing: border-box !important;
}

.bv-carousel ul,
.bv-listagem ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bv-empty {
	text-align: center !important;
	color: var(--bv-gray-500) !important;
	padding: 40px 0 !important;
	font-size: 15px !important;
}

/* =========================================================
   CARD (compartilhado entre carrossel e listagem)
   ========================================================= */

.bv-card {
	background: var(--bv-white) !important;
	border-radius: var(--bv-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--bv-shadow) !important;
	transition: var(--bv-transition) !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	border: 1px solid var(--bv-gray-200) !important;
	text-decoration: none !important;
}

.bv-card:hover {
	transform: translateY(-8px) !important;
	box-shadow: var(--bv-shadow-hover) !important;
	border-color: var(--bv-secondary) !important;
}

.bv-card__image-wrap {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	overflow: hidden !important;
	background: var(--bv-gray-50) !important;
}

.bv-card__img,
.bv-card__img--placeholder {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	transition: transform .6s cubic-bezier(.22,1,.36,1) !important;
}

.bv-card__img--placeholder {
	background: linear-gradient(135deg, var(--bv-secondary), var(--bv-primary)) !important;
}

.bv-card:hover .bv-card__img {
	transform: scale(1.08) !important;
}

.bv-card__body {
	padding: 22px !important;
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
}

.bv-card__date {
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	color: var(--bv-primary) !important;
	margin-bottom: 10px !important;
	display: inline-block !important;
}

.bv-card__title {
	font-size: 19px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	margin: 0 0 10px !important;
	color: var(--bv-dark) !important;
}

.bv-card__title a {
	color: inherit !important;
	text-decoration: none !important;
	background: none !important;
	transition: color .25s ease !important;
}

.bv-card__title a:hover {
	color: var(--bv-primary) !important;
}

.bv-card__excerpt {
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	color: var(--bv-gray-500) !important;
	margin: 0 0 20px !important;
	flex-grow: 1 !important;
}

.bv-card__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	align-self: flex-start !important;
	padding: 10px 18px !important;
	border-radius: 999px !important;
	background: var(--bv-primary) !important;
	color: var(--bv-white) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: var(--bv-transition) !important;
}

.bv-card__btn svg {
	transition: transform .3s ease !important;
}

.bv-card__btn:hover {
	background: var(--bv-dark) !important;
	transform: translateX(3px) !important;
	color: var(--bv-white) !important;
}

.bv-card__btn:hover svg {
	transform: translateX(3px) !important;
}

/* =========================================================
   CARROSSEL
   ========================================================= */

.bv-carousel {
	position: relative !important;
	margin: 30px 0 !important;
	padding: 0 56px !important;
}

.bv-carousel__viewport {
	overflow: hidden !important;
	width: 100% !important;
}

.bv-carousel__track {
	display: flex !important;
	will-change: transform !important;
	transition: transform .5s cubic-bezier(.65,0,.35,1) !important;
}

.bv-carousel__slide {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	padding: 6px !important;
}

@media (min-width: 782px) {
	.bv-carousel__slide {
		flex: 0 0 33.3333% !important;
		max-width: 33.3333% !important;
		padding: 10px !important;
	}
}

.bv-carousel__arrow {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	border: 1px solid var(--bv-gray-200) !important;
	background: var(--bv-white) !important;
	color: var(--bv-primary) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	box-shadow: 0 6px 18px rgba(0,0,0,.08) !important;
	transition: var(--bv-transition) !important;
	z-index: 2 !important;
}

.bv-carousel__arrow:hover {
	background: var(--bv-primary) !important;
	color: var(--bv-white) !important;
	border-color: var(--bv-primary) !important;
	transform: translateY(-50%) scale(1.08) !important;
}

.bv-carousel__arrow--prev { left: 0 !important; }
.bv-carousel__arrow--next { right: 0 !important; }

.bv-carousel__arrow[disabled] {
	opacity: .35 !important;
	cursor: default !important;
	pointer-events: none !important;
}

.bv-carousel__bullets {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 22px !important;
}

.bv-carousel__bullet {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: var(--bv-secondary) !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer !important;
	transition: var(--bv-transition) !important;
}

.bv-carousel__bullet--active {
	background: var(--bv-primary) !important;
	width: 26px !important;
	border-radius: 999px !important;
}

/* =========================================================
   LISTAGEM GERAL (busca + categorias + grid + carregar mais)
   ========================================================= */

.bv-listagem {
	margin: 20px 0 !important;
}

.bv-listagem__topo {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	margin-bottom: 34px !important;
}

@media (min-width: 782px) {
	.bv-listagem__topo {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
	}
}

.bv-search {
	position: relative !important;
	max-width: 340px !important;
	width: 100% !important;
}

.bv-search__input {
	width: 100% !important;
	padding: 13px 44px 13px 18px !important;
	border-radius: 999px !important;
	border: 1.5px solid var(--bv-gray-200) !important;
	font-size: 14.5px !important;
	color: var(--bv-dark) !important;
	background: var(--bv-white) !important;
	transition: var(--bv-transition) !important;
	outline: none !important;
}

.bv-search__input:focus {
	border-color: var(--bv-primary) !important;
	box-shadow: 0 0 0 4px rgba(16,129,232,.12) !important;
}

.bv-search__icon {
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: var(--bv-gray-500) !important;
	pointer-events: none !important;
}

.bv-cat-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
}

.bv-cat-item {
	padding: 9px 18px !important;
	border-radius: 999px !important;
	background: var(--bv-gray-50) !important;
	border: 1.5px solid var(--bv-gray-200) !important;
	color: var(--bv-dark) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: var(--bv-transition) !important;
	white-space: nowrap !important;
}

.bv-cat-item:hover {
	border-color: var(--bv-primary) !important;
	color: var(--bv-primary) !important;
}

.bv-cat-item--active {
	background: var(--bv-primary) !important;
	border-color: var(--bv-primary) !important;
	color: var(--bv-white) !important;
}

.bv-listagem__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 26px !important;
	min-height: 120px !important;
}

@media (min-width: 600px) {
	.bv-listagem__grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (min-width: 992px) {
	.bv-listagem__grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

.bv-grid-item {
	display: block !important;
}

.bv-grid-item--new {
	animation: bvFadeUp .5s ease both !important;
}

@keyframes bvFadeUp {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

.bv-listagem__footer {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 16px !important;
	margin-top: 40px !important;
}

.bv-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 13px 32px !important;
	border-radius: 999px !important;
	border: none !important;
	background: var(--bv-primary) !important;
	color: var(--bv-white) !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: var(--bv-transition) !important;
}

.bv-btn:hover {
	background: var(--bv-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
}

.bv-btn[disabled] {
	opacity: .5 !important;
	cursor: default !important;
	transform: none !important;
}

.bv-loader {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--bv-gray-500) !important;
	font-size: 13.5px !important;
}

.bv-spinner {
	width: 16px !important;
	height: 16px !important;
	border-radius: 50% !important;
	border: 2.5px solid var(--bv-secondary) !important;
	border-top-color: var(--bv-primary) !important;
	display: inline-block !important;
	animation: bvSpin .7s linear infinite !important;
}

@keyframes bvSpin {
	to { transform: rotate(360deg); }
}

/* =========================================================
   PÁGINA DE POST INDIVIDUAL
   ========================================================= */

.bv-single {
	background: var(--bv-white) !important;
}

.bv-single__hero {
	position: relative !important;
	width: 100% !important;
	max-height: 480px !important;
	overflow: hidden !important;
}

.bv-single__hero-img {
	width: 100% !important;
	height: 100% !important;
	max-height: 480px !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
}

.bv-single__hero-overlay {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%) !important;
}

.bv-single__container {
	max-width: 780px !important;
	margin: 0 auto !important;
	padding: 48px 20px 70px !important;
}

.bv-single__header {
	margin-bottom: 32px !important;
}

.bv-single__cats {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 16px !important;
}

.bv-single__cat-tag {
	padding: 6px 14px !important;
	background: var(--bv-secondary) !important;
	color: var(--bv-dark) !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: .03em !important;
	text-decoration: none !important;
	transition: var(--bv-transition) !important;
}

.bv-single__cat-tag:hover {
	background: var(--bv-primary) !important;
	color: var(--bv-white) !important;
}

.bv-single__title {
	font-size: clamp(28px, 4vw, 42px) !important;
	line-height: 1.2 !important;
	font-weight: 800 !important;
	color: var(--bv-dark) !important;
	margin: 0 0 16px !important;
}

.bv-single__meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 18px !important;
	color: var(--bv-gray-500) !important;
	font-size: 14px !important;
}

.bv-single__date {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: var(--bv-primary) !important;
	font-weight: 600 !important;
}

.bv-single__content {
	font-size: 17px !important;
	line-height: 1.85 !important;
	color: #222 !important;
}

.bv-single__content p {
	margin: 0 0 22px !important;
}

.bv-single__content h2,
.bv-single__content h3,
.bv-single__content h4 {
	color: var(--bv-dark) !important;
	font-weight: 800 !important;
	margin: 40px 0 18px !important;
	line-height: 1.3 !important;
}

.bv-single__content img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: var(--bv-radius-sm) !important;
	margin: 10px 0 30px !important;
}

.bv-single__content a {
	color: var(--bv-primary) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--bv-secondary) !important;
	text-underline-offset: 3px !important;
}

.bv-single__content a:hover {
	color: var(--bv-dark) !important;
}

.bv-single__content blockquote {
	margin: 30px 0 !important;
	padding: 18px 26px !important;
	border-left: 4px solid var(--bv-primary) !important;
	background: var(--bv-gray-50) !important;
	border-radius: 0 var(--bv-radius-sm) var(--bv-radius-sm) 0 !important;
	font-style: italic !important;
	color: var(--bv-dark) !important;
}

.bv-single__content ul,
.bv-single__content ol {
	margin: 0 0 24px 20px !important;
	padding: 0 !important;
	list-style: initial !important;
}

.bv-single__footer {
	margin-top: 50px !important;
	padding-top: 30px !important;
	border-top: 1px solid var(--bv-gray-200) !important;
}

/* Compartilhamento */

.bv-share {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
}

.bv-share__label {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--bv-dark) !important;
}

.bv-share__buttons {
	display: flex !important;
	gap: 10px !important;
}

.bv-share__btn {
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--bv-gray-50) !important;
	color: var(--bv-primary) !important;
	border: 1.5px solid var(--bv-gray-200) !important;
	cursor: pointer !important;
	transition: var(--bv-transition) !important;
	text-decoration: none !important;
}

.bv-share__btn:hover {
	background: var(--bv-primary) !important;
	color: var(--bv-white) !important;
	border-color: var(--bv-primary) !important;
	transform: translateY(-3px) !important;
}

.bv-share__btn--copy.bv-share__btn--copied {
	background: var(--bv-dark) !important;
	color: var(--bv-white) !important;
	border-color: var(--bv-dark) !important;
}

.bv-share__toast {
	position: fixed !important;
	bottom: 30px !important;
	left: 50% !important;
	transform: translateX(-50%) translateY(20px) !important;
	background: var(--bv-dark) !important;
	color: var(--bv-white) !important;
	padding: 12px 22px !important;
	border-radius: 999px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: var(--bv-transition) !important;
	z-index: 9999 !important;
}

.bv-share__toast--visible {
	opacity: 1 !important;
	transform: translateX(-50%) translateY(0) !important;
}

/* =========================================================
   PAINEL DE ADMINISTRAÇÃO
   ========================================================= */

.bv-admin-wrap {
	max-width: 1100px;
}

.bv-admin-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 24px;
}

.bv-admin-title .dashicons {
	color: var(--bv-primary);
}

.bv-admin-subtitle {
	color: var(--bv-gray-500);
	margin-bottom: 26px;
}

.bv-admin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-bottom: 28px;
}

.bv-admin-card {
	background: #fff;
	border: 1px solid var(--bv-gray-200);
	border-radius: 14px;
	padding: 22px;
	box-shadow: 0 2px 10px rgba(16,129,232,.06);
}

.bv-admin-card h2 {
	margin-top: 0;
	font-size: 16px;
	color: var(--bv-dark);
}

.bv-shortcode-box {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--bv-gray-50);
	border: 1px dashed var(--bv-secondary);
	border-radius: 10px;
	padding: 10px 14px;
	margin: 14px 0 8px;
}

.bv-shortcode-box code {
	flex-grow: 1;
	background: none;
	font-size: 13px;
	word-break: break-all;
}

.bv-shortcode-box--disabled {
	opacity: .7;
	border-style: solid;
}

.bv-copy-btn.copied {
	background: var(--bv-dark) !important;
	border-color: var(--bv-dark) !important;
}

.bv-hint {
	font-size: 12.5px;
	color: var(--bv-gray-500);
}

.bv-settings-form {
	max-width: 100%;
}

.bv-color-field {
	width: 110px;
}
