/* ============================================================
   Betaalverzoek Checkout — "Cosmos" theme
   Modern, kleurrijk, glas-effect, mobiel-vriendelijk.
   ============================================================ */

/* ============================================================
   THEMA-OVERRIDES (staan bovenaan, !important wint altijd)
   Zorgt dat het er overal hetzelfde uitziet, ongeacht je thema.
   ============================================================ */
.bv-card { max-width: 480px !important; }

/* Eén schoon, modern lettertype binnen de kaart */
.bv-card,
.bv-card input,
.bv-card select,
.bv-card textarea,
.bv-card label,
.bv-card h1, .bv-card h2, .bv-card h3,
.bv-card p, .bv-card span, .bv-card a, .bv-card button {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Ruime thema-marges weghalen → strakke verticale ritme */
.bv-card form.checkout > * { margin-top: 0 !important; }
.bv-card #customer_details,
.bv-card .woocommerce-billing-fields,
.bv-card .woocommerce-billing-fields__field-wrapper,
.bv-card .woocommerce-account-fields,
.bv-card .woocommerce-additional-fields { margin: 0 !important; padding: 0 !important; }
/* ALLE velden onder elkaar (geen twee kolommen) */
.bv-card .form-row,
.bv-card .form-row-first,
.bv-card .form-row-last,
.bv-card .form-row-wide {
	float: none !important;
	width: 100% !important;
	clear: both !important;
	display: block !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}
.bv-card .bv-amount-block { margin: 0 0 10px !important; }
.bv-card .bv-section { margin: 16px 0 10px !important; }

/* Privacytekst en totaalregel verbergen (bedrag staat al bovenaan) */
.bv-card .woocommerce-privacy-policy-text,
.bv-card .order-total { display: none !important; }

/* Bedrag-invoer volledig transparant (gradient eronder zichtbaar) + paarse cijfers */
.bv-card .bv-amount-input input,
.bv-card .bv-amount-value {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	color: #6a1fc0 !important;
	font-weight: 800 !important;
}
.bv-card .bv-amount-input input::placeholder { color: #b7a7e0 !important; }

/* Witte/grijze thema-vlakken rond order review, totaal en betaling weghalen */
.bv-card #order_review,
.bv-card #payment,
.bv-card .woocommerce-checkout-payment,
.bv-card #payment .place-order,
.bv-card #payment .payment_box,
.bv-card #payment ul.wc_payment_methods,
.bv-card .woocommerce-checkout-review-order,
.bv-card .woocommerce-checkout-review-order-table,
.bv-card .woocommerce-checkout-review-order-table tbody,
.bv-card .woocommerce-checkout-review-order-table tfoot,
.bv-card .woocommerce-checkout-review-order-table tr,
.bv-card .woocommerce-checkout-review-order-table th,
.bv-card .woocommerce-checkout-review-order-table td,
.bv-card .order-total,
.bv-card .order-total th,
.bv-card .order-total td {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* ---- Bewegende meerkleurige cosmos-achtergrond ---- */
body.bv-page {
	min-height: 100vh;
	background: linear-gradient(125deg, #2a0845, #6441A5, #2575fc, #00d4ff, #ff2d95, #7303c0);
	background-size: 320% 320%;
	animation: bv-cosmos 22s ease infinite;
	position: relative;
	overflow-x: hidden;
}

@keyframes bv-cosmos {
	0%   { background-position: 0% 50%; }
	50%  { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* Sterrenveld + nevel-gloed bovenop de gradient */
body.bv-page::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(1.5px 1.5px at 20% 30%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 70% 65%, #fff, transparent),
		radial-gradient(1px 1px at 40% 80%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 85% 20%, #fff, transparent),
		radial-gradient(1px 1px at 55% 15%, #fff, transparent),
		radial-gradient(1px 1px at 10% 70%, #fff, transparent),
		radial-gradient(1.5px 1.5px at 90% 85%, #fff, transparent),
		radial-gradient(1px 1px at 30% 50%, #fff, transparent);
	opacity: 0.65;
	animation: bv-twinkle 6s ease-in-out infinite alternate;
}

/* Zachte gekleurde nevel-blobs voor diepte */
body.bv-page::after {
	content: "";
	position: fixed;
	inset: -20%;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(40% 35% at 15% 20%, rgba(255, 45, 149, 0.45), transparent 70%),
		radial-gradient(45% 40% at 85% 80%, rgba(0, 212, 255, 0.40), transparent 70%),
		radial-gradient(35% 30% at 80% 10%, rgba(115, 3, 192, 0.45), transparent 70%);
	filter: blur(40px);
	animation: bv-drift 18s ease-in-out infinite alternate;
}

@keyframes bv-twinkle {
	from { opacity: 0.35; }
	to   { opacity: 0.8; }
}
@keyframes bv-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to   { transform: translate3d(0, -3%, 0) scale(1.08); }
}

/* Thema-ruis verbergen voor een schoon één-scherm gevoel */
body.bv-page .site-header,
body.bv-page header.site-header,
body.bv-page .site-footer,
body.bv-page footer.site-footer,
body.bv-page #colophon,
body.bv-page .entry-title,
body.bv-page .page-title,
body.bv-page .breadcrumbs,
body.bv-page .woocommerce-breadcrumb {
	display: none !important;
}

body.bv-page .site-content,
body.bv-page #content,
body.bv-page .content-area,
body.bv-page main,
body.bv-page .entry-content,
body.bv-page article {
	background: transparent !important;
	box-shadow: none !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bv-wrap {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-height: 100vh;
	padding: 44px 16px;
	box-sizing: border-box;
}

/* ---- Glas-kaart ---- */
.bv-card {
	width: 100%;
	max-width: 480px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 26px;
	box-shadow: 0 30px 80px rgba(20, 5, 50, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.6);
	padding: 34px 30px 38px;
	box-sizing: border-box;
	animation: bv-pop 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes bv-pop {
	from { opacity: 0; transform: translateY(18px) scale(0.98); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ---- Kop ---- */
.bv-head { text-align: center; margin-bottom: 22px; }
.bv-title {
	margin: 0 0 6px;
	font-size: 27px;
	font-weight: 800;
	color: #15103a;
	letter-spacing: -0.5px;
}
.bv-sub { margin: 0; color: #6b6b86; font-size: 15px; }

/* ---- Bedrag-veld: grote blikvanger ---- */
.bv-amount-block { margin: 0 0 24px; }
.bv-amount-label {
	display: block;
	text-align: center;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #8a8aa3;
	margin-bottom: 10px;
}
.bv-amount-input {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f7f5ff, #eef4ff);
	border: 2px solid #e7e8f3;
	border-radius: 18px;
	padding: 10px 18px;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.bv-amount-input:focus-within {
	border-color: #7303c0;
	box-shadow: 0 0 0 5px rgba(115, 3, 192, 0.14);
}
.bv-currency {
	font-size: 34px;
	font-weight: 800;
	background: linear-gradient(135deg, #7303c0, #2575fc);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-right: 4px;
}
.bv-amount-input input {
	border: 0;
	background: transparent;
	font-size: 42px;
	font-weight: 800;
	color: #15103a;
	padding: 6px 0;
	outline: none;
	width: 100%;
	max-width: 240px;
	text-align: center;
	-moz-appearance: textfield;
}
.bv-amount-input input::placeholder { color: #c7c7da; }
.bv-amount-input input::-webkit-outer-spin-button,
.bv-amount-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bv-amount-input.bv-invalid,
.bv-amount-block .bv-invalid + .bv-amount-error,
.bv-amount-input:has(input.bv-invalid) { border-color: #e0245e; }

/* Rode melding bij te hoog / te laag */
.bv-amount-error {
	min-height: 18px;
	margin: 8px 2px 0;
	text-align: center;
	color: #e0245e;
	font-size: 13px;
	font-weight: 700;
}
.bv-amount-input input.bv-invalid { color: #e0245e; }

/* Eigen kop boven de gegevens; standaard WooCommerce-kop verbergen */
.bv-card h3.bv-section {
	font-size: 16px;
	color: #15103a;
	margin: 22px 0 12px;
	font-weight: 800;
}
.bv-card .woocommerce-billing-fields > h3,
.bv-card .woocommerce-additional-fields > h3 { display: none !important; }

/* ---- WooCommerce checkout opschonen ---- */
.bv-card form.checkout { margin: 0; display: block; }

/* Alles in één kolom — geen zijbalk met bestel-overzicht */
.bv-card #customer_details,
.bv-card #order_review,
.bv-card #order_review_heading,
.bv-card .col2-set,
.bv-card .col2-set .col-1,
.bv-card .col2-set .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Couponbalk en "Your order"-kop verbergen */
.bv-card .woocommerce-form-coupon-toggle,
.bv-card form.checkout_coupon,
.bv-card #order_review_heading { display: none !important; }

/* Productregels in het overzicht verbergen — alleen het totaal tonen */
.bv-card .woocommerce-checkout-review-order-table thead,
.bv-card .woocommerce-checkout-review-order-table .cart_item,
.bv-card .woocommerce-checkout-review-order-table .cart-subtotal { display: none !important; }

/* Privacytekst kleiner en rustig */
.bv-card .woocommerce-privacy-policy-text p { font-size: 12px; color: #9a9ab0; margin: 14px 0 0; }

.bv-card h3 {
	font-size: 15px;
	color: #15103a;
	margin: 20px 0 12px;
	font-weight: 700;
}

.bv-card .form-row { padding: 5px 0; margin: 0; }
.bv-card label { color: #4a4a63; font-size: 14px; font-weight: 600; }
.bv-card .input-text,
.bv-card select {
	border: 2px solid #e7e8f3 !important;
	border-radius: 12px !important;
	padding: 13px 14px !important;
	font-size: 15px !important;
	background: #fbfbfe !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.bv-card .input-text:focus,
.bv-card select:focus {
	border-color: #7303c0 !important;
	box-shadow: 0 0 0 4px rgba(115, 3, 192, 0.10) !important;
	outline: none;
}

/* ---- Overzicht / totaal ---- */
.bv-card .woocommerce-checkout-review-order-table {
	border: 0;
	margin-top: 6px;
}
.bv-card .woocommerce-checkout-review-order-table th,
.bv-card .woocommerce-checkout-review-order-table td {
	border: 0;
	padding: 8px 0;
	color: #4a4a63;
}
.bv-card .order-total th { font-weight: 800; color: #15103a; }
.bv-card .order-total .amount {
	font-size: 22px;
	font-weight: 800;
	background: linear-gradient(135deg, #7303c0, #2575fc);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ---- Betaalmethodes verbergen (1 methode, altijd geselecteerd) ---- */
.bv-card #payment ul.payment_methods,
.bv-card .woocommerce-checkout-payment ul.payment_methods {
	display: none !important;
}
.bv-card #payment {
	background: transparent !important;
	border-radius: 0;
	padding: 0;
}
.bv-card #payment .payment_box { background: #f5f6fb; border-radius: 12px; }
.bv-card #payment .payment_box::before { display: none; }

/* ---- Betaalknop ---- */
.bv-card #payment .form-row.place-order { padding: 0; margin-top: 20px; }
.bv-card #place_order,
.bv-card .button.alt {
	width: 100%;
	background: linear-gradient(120deg, #ff2d95 0%, #7303c0 50%, #2575fc 100%) !important;
	background-size: 200% auto !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 17px 20px !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0.3px;
	cursor: pointer;
	box-shadow: 0 14px 30px rgba(115, 3, 192, 0.40);
	transition: transform 0.12s ease, box-shadow 0.2s ease, background-position 0.5s ease;
}
.bv-card #place_order:hover,
.bv-card .button.alt:hover {
	transform: translateY(-2px);
	background-position: right center !important;
	box-shadow: 0 18px 38px rgba(37, 117, 252, 0.50);
}
.bv-card #place_order:active,
.bv-card .button.alt:active { transform: translateY(0); }

.bv-card .woocommerce-privacy-policy-text { font-size: 12px; color: #9a9ab0; margin-top: 14px; }

/* WooCommerce notices netjes binnen de kaart */
.bv-card .woocommerce-error,
.bv-card .woocommerce-message,
.bv-card .woocommerce-info {
	border-radius: 12px;
	border: 0;
	padding: 12px 14px 12px 40px;
}

/* ---- Mobiel ---- */
@media (max-width: 560px) {
	.bv-wrap { padding: 24px 12px; align-items: flex-start; }
	.bv-card { padding: 24px 18px 28px; border-radius: 22px; max-width: 100%; }
	.bv-head::before { width: 48px; height: 48px; }
	.bv-title { font-size: 23px; }
	.bv-amount-input input { font-size: 34px; }
	.bv-currency { font-size: 28px; }
	.bv-card #place_order,
	.bv-card .button.alt { padding: 16px 18px !important; font-size: 16px !important; }
}

/* ============================================================
   Bedankpagina / mislukt / offline
   ============================================================ */

.bv-thankyou-card { text-align: center; }
.bv-thankyou-card .woocommerce-order { margin-top: 6px; }

/* WooCommerce-overzicht verbergen — alleen onze eigen tekst tonen */
body.bv-thankyou .woocommerce-order-overview,
body.bv-thankyou .woocommerce-order-details,
body.bv-thankyou .woocommerce-customer-details,
body.bv-thankyou .woocommerce-order-downloads,
body.bv-thankyou .woocommerce-thankyou-order-received,
body.bv-thankyou .woocommerce-thankyou-order-failed { display: none !important; }

/* Mislukt: WooCommerce's eigen knoppen ("Opnieuw betalen") behouden + in onze stijl */
body.bv-thankyou .woocommerce-thankyou-order-failed-actions {
	margin: 18px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
body.bv-thankyou .woocommerce-thankyou-order-failed-actions .button {
	display: block;
	width: 100%;
	text-align: center;
	background: linear-gradient(120deg, #ff2d95 0%, #7303c0 50%, #2575fc 100%) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 15px 20px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	box-shadow: 0 12px 26px rgba(115, 3, 192, 0.35);
}
body.bv-thankyou .woocommerce-thankyou-order-failed-actions .button.pay {
	box-shadow: 0 14px 30px rgba(224, 36, 94, 0.40);
}

/* Geanimeerd vinkje / kruis */
.bv-check, .bv-cross { width: 96px; height: 96px; margin: 4px auto 6px; }
.bv-check svg, .bv-cross svg { width: 96px; height: 96px; display: block; }

.bv-mark-circle { stroke-dasharray: 240; stroke-dashoffset: 240; animation: bv-draw 0.6s ease forwards; }
.bv-check .bv-mark-circle { stroke: #06d6a0; }
.bv-failed-card .bv-mark-circle { stroke: #e0245e; }

.bv-check-tick {
	stroke: #06d6a0;
	stroke-dasharray: 70; stroke-dashoffset: 70;
	animation: bv-draw 0.4s 0.5s ease forwards;
}
.bv-cross-1, .bv-cross-2 { stroke: #e0245e; stroke-dasharray: 40; stroke-dashoffset: 40; }
.bv-cross-1 { animation: bv-draw 0.3s 0.5s ease forwards; }
.bv-cross-2 { animation: bv-draw 0.3s 0.75s ease forwards; }

@keyframes bv-draw { to { stroke-dashoffset: 0; } }

/* Getypte titel met knipperende cursor */
.bv-thanks {
	font-size: 27px; font-weight: 800; color: #15103a;
	letter-spacing: -0.5px; margin: 8px 0 6px; min-height: 1.2em;
}
.bv-thanks.bv-typing::after {
	content: "";
	display: inline-block;
	width: 2px; height: 1em;
	background: #7303c0;
	margin-left: 3px;
	vertical-align: -2px;
	animation: bv-caret 0.7s steps(1) infinite;
}
.bv-thanks-failed { color: #c81e54; }
@keyframes bv-caret { 50% { opacity: 0; } }

.bv-thanks-sub { color: #6b6b86; font-size: 15px; margin: 0 0 6px; }

/* Vuurwerk */
.bv-fireworks { position: fixed; inset: 0; pointer-events: none; z-index: 3; overflow: hidden; }
.bv-burst { position: absolute; width: 0; height: 0; }
.bv-burst span {
	position: absolute; left: 0; top: 0;
	width: 7px; height: 7px; border-radius: 50%;
	box-shadow: 0 0 8px currentColor;
	animation: bv-particle 1.2s ease-out forwards;
}
@keyframes bv-particle {
	0%   { transform: translate(0, 0) scale(1); opacity: 1; }
	100% { transform: translate(var(--dx), var(--dy)) scale(0.3); opacity: 0; }
}

/* Rode tint achter de mislukt-pagina */
body.bv-page.bv-failed::after {
	background:
		radial-gradient(40% 35% at 20% 25%, rgba(224, 36, 94, 0.45), transparent 70%),
		radial-gradient(45% 40% at 85% 80%, rgba(150, 20, 60, 0.40), transparent 70%);
}

/* Offline-pagina */
.bv-offline-card { text-align: center; }
.bv-offline-icon { width: 92px; height: 92px; margin: 0 auto 16px; animation: bv-float 3s ease-in-out infinite; }
.bv-offline-icon svg { width: 92px; height: 92px; display: block; }
.bv-offline-icon .bv-lock-body,
.bv-offline-icon .bv-lock-shackle { stroke: #7303c0; }
.bv-offline-icon circle { fill: #7303c0; }
@keyframes bv-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
.bv-offline-card .bv-title { margin-top: 4px; }

/* Rustigere achtergrond bij offline */
body.bv-page.bv-offline::after {
	background:
		radial-gradient(45% 40% at 25% 25%, rgba(115, 3, 192, 0.40), transparent 70%),
		radial-gradient(45% 40% at 80% 80%, rgba(37, 117, 252, 0.35), transparent 70%);
}

/* Respecteer "reduceer beweging" */
@media (prefers-reduced-motion: reduce) {
	body.bv-page,
	body.bv-page::before,
	body.bv-page::after,
	.bv-card,
	.bv-mark-circle, .bv-check-tick, .bv-cross-1, .bv-cross-2,
	.bv-offline-icon, .bv-thanks.bv-typing::after { animation: none !important; }
	.bv-mark-circle, .bv-check-tick, .bv-cross-1, .bv-cross-2 { stroke-dashoffset: 0 !important; }
}

/* ============================================================
   Popup (instelbaar bericht, wegklikbaar)
   ============================================================ */
.bv-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(20, 5, 50, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	animation: bv-fade 0.25s ease;
}
.bv-popup-overlay[hidden] { display: none; }
@keyframes bv-fade { from { opacity: 0; } to { opacity: 1; } }

.bv-popup {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 30px 70px rgba(20, 5, 50, 0.45);
	padding: 30px 26px 24px;
	text-align: center;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	animation: bv-pop 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.bv-popup-title { margin: 0 0 10px; font-size: 22px; font-weight: 800; color: #15103a; }
.bv-popup-text { color: #4a4a63; font-size: 15px; line-height: 1.5; }
.bv-popup-text p { margin: 0 0 8px; }
.bv-popup-close {
	position: absolute;
	top: 10px; right: 12px;
	width: 34px; height: 34px;
	border: 0; background: transparent;
	font-size: 26px; line-height: 1; color: #9a9ab0;
	cursor: pointer; border-radius: 50%;
}
.bv-popup-close:hover { background: #f1f1f7; color: #15103a; }
.bv-popup-ok {
	margin-top: 20px;
	width: 100%;
	background: linear-gradient(120deg, #ff2d95 0%, #7303c0 50%, #2575fc 100%);
	color: #fff; border: 0; border-radius: 14px;
	padding: 14px 20px; font-size: 16px; font-weight: 800; cursor: pointer;
	box-shadow: 0 12px 26px rgba(115, 3, 192, 0.35);
}
.bv-popup-ok:hover { transform: translateY(-1px); }

/* ============================================================
   Vast bedrag (link met vast bedrag)
   ============================================================ */
.bv-amount-input.bv-amount-fixed { justify-content: center; cursor: default; }
.bv-amount-value {
	font-size: 42px;
	font-weight: 800;
	color: #15103a;
	padding: 6px 0;
	line-height: 1;
}
@media (max-width: 560px) { .bv-amount-value { font-size: 34px; } }

/* ============================================================
   Fish-homepage (mysterieus, Apple-stijl)
   ============================================================ */
body.bv-home {
	background: linear-gradient(135deg, #1a0540 0%, #3a1a8a 30%, #2575fc 55%, #00c2d4 75%, #7303c0 100%);
	background-size: 320% 320%;
	animation: bv-cosmos 26s ease infinite;
	overflow: hidden;
}

/* Oceaan met vissen, achter de titel */
.bv-ocean {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.bv-fish {
	position: absolute;
	left: 0;
	will-change: transform;
	animation: bv-swim var(--dur, 30s) linear var(--delay, 0s) infinite;
	opacity: 0.95;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.25));
}
.bv-fish-inner { display: block; }
.bv-fish svg { display: block; width: 100%; height: auto; animation: bv-bob 4.5s ease-in-out infinite; }
.bv-fish-rev .bv-fish-inner { transform: scaleX(-1); }

@keyframes bv-swim {
	from { transform: translateX(-25vw); }
	to   { transform: translateX(125vw); }
}
.bv-fish-rev { animation-direction: reverse; }
@keyframes bv-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-12px); }
}

/* Gecentreerde titel */
.bv-home-wrap {
	position: fixed;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	text-align: center;
	pointer-events: none;
}
.bv-home-title {
	margin: 0;
	color: #fff;
	font-size: clamp(36px, 9vw, 90px);
	font-weight: 600;
	letter-spacing: 1px;
	text-shadow: 0 4px 40px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.15);
	animation: bv-home-in 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes bv-home-in {
	from { opacity: 0; transform: translateY(16px) scale(0.98); letter-spacing: 6px; }
	to   { opacity: 1; transform: translateY(0) scale(1); letter-spacing: 1px; }
}

@media (prefers-reduced-motion: reduce) {
	body.bv-home { animation: none !important; }
	.bv-fish, .bv-fish svg, .bv-home-title { animation: none !important; }
}
