/* Shared finishing touches for the existing Nệm Bình Dương shortcodes.
 * Keep sizing in each component so all admin typography controls still apply.
 */
body .nbd-home-latex .nbd-latex-banner__note,
body .nbd-dm-aroma .nbd-dm-aroma__intro-slogan,
body .nbd-dm-kc .nbd-dm-kc__values-media > span,
body .nbd-featured-products .nbd-fp-featured__media figcaption,
body .nbd-dealer-box .nbd-db-promise__signature,
body .nbd-landing .nbd-landing__hero-script,
body .nbd-landing .nbd-landing__offer-image > span,
body .nbd-landing .nbd-landing__values-media > p,
body .nbd-fh .nbd-fh__script,
body .nbd-fh .nbd-fh__hybrid-script,
body .nbd-spring-block .nbd-spring-block__hero-script,
body .nbd-latex-kc .nbd-latex-kc__hero-script,
body .nbd-latex-kc .nbd-latex-kc__offer-script,
body .nbd-latex-kc .nbd-latex-kc__offer-script-right,
body .nbd-latex-la .nbd-latex-la__hero-copy > em,
body .nbd-latex-la .nbd-latex-la__offer-copy > em,
body .nbd-latex-vt .nbd-latex-vt__hero-brand > span,
body .nbd-latex-vt .nbd-latex-vt__dealer-copy > em {
	font-family: 'Great Vibes', 'Lovers Quarrel', cursive !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-synthesis: style;
}

/* Only established cards are animated; layouts, banners and text stay still. */
body :is(
	.nbd-latex-card, .nbd-latex-benefit, .nbd-latex-promo,
	.nbd-video-card, .nbd-news-card, .nbd-showrooms__card,
	.nbd-fp-quick-feature, .nbd-fp-mini,
	.nbd-cb-feature, .nbd-cb-service,
	.nbd-db-brand, .nbd-db-feature, .nbd-db-card,
	.nbd-dm-aroma__product-card, .nbd-dm-kc__product,
	.nbd-dm-kc__badges > div,
	.nbd-landing__product, .nbd-landing__cert-grid > a,
	.nbd-landing__brand-grid > article, .nbd-landing__services-grid > article,
	.nbd-fh__product, .nbd-fh__cert-grid > article,
	.nbd-fh__service-grid > article, .nbd-fh__material,
	.nbd-fh__material-tabs > a, .nbd-fh__advantage-grid > article,
	.nbd-spring-block__card, .nbd-spring-block__step, .nbd-spring-block__offer,
	.nbd-latex-kc__product, .nbd-latex-kc__intro-badges > span,
	.nbd-latex-la__product, .nbd-latex-la__step,
	.nbd-latex-vt__product, .nbd-latex-vt__support-grid > div
) {
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body :is(
	.nbd-latex-header__icon, .nbd-latex-benefit > span, .nbd-latex-promo > span,
	.nbd-home-video__icon, .nbd-news-heading__icon,
	.nbd-cb-feature .nbd-cb-icon, .nbd-db-feature .nbd-db-icon,
	.nbd-fp-quick-feature > span,
	.nbd-dm-aroma__value-icon, .nbd-dm-kc__value-icon,
	.nbd-landing__value-icon, .nbd-landing__hero-benefits i,
	.nbd-landing__commitment-grid i,
	.nbd-fh__hero-benefits i, .nbd-fh__commitment-items i,
	.nbd-fh__material-tabs i, .nbd-fh__advantage-grid i,
	.nbd-spring-block__support-item i,
	.nbd-latex-kc__intro-badges i, .nbd-latex-kc__hero-benefits > div > span,
	.nbd-latex-kc__offer-items i, .nbd-latex-la__hero-benefits > div > span,
	.nbd-latex-vt__hero-benefits svg, .nbd-latex-vt__dealer-values svg,
	.nbd-latex-vt__offer-benefits svg, .nbd-latex-vt__support-grid svg
) {
	transition: transform 180ms ease, filter 180ms ease;
}

/* Give keyboard users a visible equivalent without making static cards tabbable. */
body :is(
	.nbd-home-latex, .nbd-home-video, .nbd-home-news, .nbd-showrooms,
	.nbd-featured-products, .nbd-commitment-box, .nbd-dealer-box,
	.nbd-dm-aroma, .nbd-dm-kc, .nbd-landing, .nbd-fh,
	.nbd-spring-block, .nbd-latex-kc, .nbd-latex-la, .nbd-latex-vt
) :is(a, button):focus-visible {
	outline: 2px solid #2675cb;
	outline-offset: 3px;
}

body :is(
	.nbd-latex-card, .nbd-latex-benefit, .nbd-latex-promo,
	.nbd-video-card, .nbd-news-card, .nbd-showrooms__card,
	.nbd-fp-quick-feature, .nbd-fp-mini,
	.nbd-cb-feature, .nbd-cb-service,
	.nbd-db-brand, .nbd-db-feature, .nbd-db-card,
	.nbd-dm-aroma__product-card, .nbd-dm-kc__product,
	.nbd-dm-kc__badges > div,
	.nbd-landing__product, .nbd-landing__cert-grid > a,
	.nbd-landing__brand-grid > article, .nbd-landing__services-grid > article,
	.nbd-fh__product, .nbd-fh__cert-grid > article,
	.nbd-fh__service-grid > article, .nbd-fh__material,
	.nbd-fh__material-tabs > a, .nbd-fh__advantage-grid > article,
	.nbd-spring-block__card, .nbd-spring-block__step, .nbd-spring-block__offer,
	.nbd-latex-kc__product, .nbd-latex-kc__intro-badges > span,
	.nbd-latex-la__product, .nbd-latex-la__step,
	.nbd-latex-vt__product, .nbd-latex-vt__support-grid > div
):is(:focus-visible, :has(:focus-visible)) {
	border-color: #82b6e9;
	box-shadow: 0 8px 22px rgb(22 70 125 / 13%);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	body :is(
		.nbd-latex-card, .nbd-latex-benefit, .nbd-latex-promo,
		.nbd-video-card, .nbd-news-card, .nbd-showrooms__card,
		.nbd-fp-quick-feature, .nbd-fp-mini,
		.nbd-cb-feature, .nbd-cb-service,
		.nbd-db-brand, .nbd-db-feature, .nbd-db-card,
		.nbd-dm-aroma__product-card, .nbd-dm-kc__product,
		.nbd-dm-kc__badges > div,
		.nbd-landing__product, .nbd-landing__cert-grid > a,
		.nbd-landing__brand-grid > article, .nbd-landing__services-grid > article,
		.nbd-fh__product, .nbd-fh__cert-grid > article,
		.nbd-fh__service-grid > article, .nbd-fh__material,
		.nbd-fh__material-tabs > a, .nbd-fh__advantage-grid > article,
		.nbd-spring-block__card, .nbd-spring-block__step, .nbd-spring-block__offer,
		.nbd-latex-kc__product, .nbd-latex-kc__intro-badges > span,
		.nbd-latex-la__product, .nbd-latex-la__step,
		.nbd-latex-vt__product, .nbd-latex-vt__support-grid > div
	):hover {
		transform: translateY(-3px);
		border-color: #82b6e9;
		box-shadow: 0 8px 22px rgb(22 70 125 / 13%);
	}

	body :is(
		.nbd-latex-header__heading:hover .nbd-latex-header__icon,
		.nbd-latex-benefit:hover > span, .nbd-latex-promo:hover > span,
		.nbd-home-video__heading:hover .nbd-home-video__icon,
		.nbd-news-heading:hover .nbd-news-heading__icon,
		.nbd-cb-feature:hover .nbd-cb-icon, .nbd-db-feature:hover .nbd-db-icon,
		.nbd-fp-quick-feature:hover > span,
		.nbd-dm-aroma__values > article:hover .nbd-dm-aroma__value-icon,
		.nbd-dm-kc__value:hover .nbd-dm-kc__value-icon,
		.nbd-landing__value:hover .nbd-landing__value-icon,
		.nbd-landing__hero-benefits > span:hover i,
		.nbd-landing__commitment-grid > span:hover i,
		.nbd-fh__hero-benefits > span:hover i,
		.nbd-fh__commitment-items > span:hover i,
		.nbd-fh__material-tabs > a:hover i,
		.nbd-fh__advantage-grid > article:hover i,
		.nbd-spring-block__support-item:hover i,
		.nbd-latex-kc__intro-badges > span:hover i,
		.nbd-latex-kc__hero-benefits > div:hover > span,
		.nbd-latex-kc__offer-items > div:hover i,
		.nbd-latex-la__hero-benefits > div:hover > span,
		.nbd-latex-vt__hero-benefits > div:hover svg,
		.nbd-latex-vt__dealer-values > span:hover svg,
		.nbd-latex-vt__offer-benefits > span:hover svg,
		.nbd-latex-vt__support-grid > div:hover svg
	) {
		transform: translateY(-2px) scale(1.06);
		filter: drop-shadow(0 3px 4px rgb(29 101 182 / 16%));
	}
}

/* Existing components also contain image/button hover rules. Suppress those
 * animations for reduced motion, while retaining the visible focus treatment.
 */
@media (prefers-reduced-motion: reduce) {
	body :is(
		.nbd-home-latex, .nbd-home-video, .nbd-home-news, .nbd-showrooms,
		.nbd-featured-products, .nbd-commitment-box, .nbd-dealer-box,
		.nbd-dm-aroma, .nbd-dm-kc, .nbd-landing, .nbd-fh,
		.nbd-spring-block, .nbd-latex-kc, .nbd-latex-la, .nbd-latex-vt
	) *,
	body :is(
		.nbd-home-latex, .nbd-home-video, .nbd-home-news, .nbd-showrooms,
		.nbd-featured-products, .nbd-commitment-box, .nbd-dealer-box,
		.nbd-dm-aroma, .nbd-dm-kc, .nbd-landing, .nbd-fh,
		.nbd-spring-block, .nbd-latex-kc, .nbd-latex-la, .nbd-latex-vt
	) *::before,
	body :is(
		.nbd-home-latex, .nbd-home-video, .nbd-home-news, .nbd-showrooms,
		.nbd-featured-products, .nbd-commitment-box, .nbd-dealer-box,
		.nbd-dm-aroma, .nbd-dm-kc, .nbd-landing, .nbd-fh,
		.nbd-spring-block, .nbd-latex-kc, .nbd-latex-la, .nbd-latex-vt
	) *::after {
		transition-duration: 0s !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
	body :is(
		.nbd-latex-card, .nbd-video-card, .nbd-news-card, .nbd-showrooms__card,
		.nbd-fp-quick-feature, .nbd-fp-mini, .nbd-cb-feature, .nbd-cb-service,
		.nbd-db-brand, .nbd-db-feature, .nbd-db-card,
		.nbd-dm-aroma__product-card, .nbd-dm-kc__product,
		.nbd-landing__product, .nbd-landing__cert-grid > a,
		.nbd-fh__product, .nbd-fh__material, .nbd-spring-block__offer,
		.nbd-latex-kc__product, .nbd-latex-la__product, .nbd-latex-vt__product
	):hover,
	body :is(
		.nbd-latex-card:hover .nbd-latex-card__media img,
		.nbd-video-card:hover .nbd-video-card__media img,
		.nbd-news-card:hover .nbd-news-card__media img,
		.nbd-fp-mini:hover .nbd-fp-mini__image img,
		.nbd-fp-featured:hover .nbd-fp-featured__image,
		.nbd-landing__product:hover .nbd-landing__product-image img,
		.nbd-fh__product:hover img, .nbd-fh__material:hover img,
		.nbd-fh__service-grid > article:hover img,
		.nbd-spring-block__offer:hover .nbd-spring-block__offer-image img,
		.nbd-latex-kc__product:hover .nbd-latex-kc__product-image img,
		.nbd-latex-la__product:hover .nbd-latex-la__product-image img,
		.nbd-latex-vt__product:hover .nbd-latex-vt__product-image img,
		.nbd-cb-feature:hover .nbd-cb-icon, .nbd-db-feature:hover .nbd-db-icon
	) {
		transform: none !important;
	}
}
