/* Aroma category feature. Scoped so it can sit in the theme's normal container. */
.nbd-dm-aroma-container { box-sizing: border-box; }

.nbd-dm-aroma {
	--nbd-dm-aroma-gap: var(--nbd-dm-aroma-gap-user, 20px);
	--nbd-dm-aroma-radius: var(--nbd-dm-aroma-radius-user, 10px);
	--nbd-dm-aroma-heading: var(--nbd-dm-aroma-heading-user, 27px);
	--nbd-dm-aroma-body: var(--nbd-dm-aroma-body-user, 13px);
	--nbd-dm-aroma-heading-m: var(--nbd-dm-aroma-heading-m-user, 22px);
	--nbd-dm-aroma-body-m: var(--nbd-dm-aroma-body-m-user, 12px);
	--nbd-dm-aroma-current-heading: var(--nbd-dm-aroma-heading);
	--nbd-dm-aroma-current-body: var(--nbd-dm-aroma-body);
	--nbd-dm-aroma-primary: #0b3f82;
	--nbd-dm-aroma-accent: #1675e5;
	--nbd-dm-aroma-text: #31588f;
	--nbd-dm-aroma-background: #fff;
	--nbd-dm-aroma-surface: #f1f8ff;
	--nbd-dm-aroma-border: #cfe3f8;
	container: nbd-dm-aroma / inline-size;
	width: 100%;
	margin: 0;
	padding: 14px 0 24px;
	background: var(--nbd-dm-aroma-background);
	color: var(--nbd-dm-aroma-text);
	font-family: var(--nbd-body-font, "Be Vietnam Pro", sans-serif);
	font-size: calc(var(--nbd-dm-aroma-current-body) - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 400;
	line-height: 1.48;
	box-sizing: border-box;
}

.nbd-dm-aroma *,
.nbd-dm-aroma *::before,
.nbd-dm-aroma *::after { box-sizing: border-box; }

.nbd-dm-aroma img { display: block; max-width: 100%; }
.nbd-dm-aroma h2,
.nbd-dm-aroma h3,
.nbd-dm-aroma p,
.nbd-dm-aroma ul { margin: 0; }
.nbd-dm-aroma h2,
.nbd-dm-aroma h3 {
	color: var(--nbd-dm-aroma-primary);
	font-family: var(--nbd-heading-font, "Manrope", sans-serif);
}
.nbd-dm-aroma p,
.nbd-dm-aroma li { color: var(--nbd-dm-aroma-text); }
.nbd-dm-aroma__paragraphs > * + * { margin-top: 8px; }

/* Wide introduction is the visual anchor from the supplied reference. */
.nbd-dm-aroma__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	min-height: 270px;
	margin-bottom: calc(var(--nbd-dm-aroma-gap) + 2px);
	border: 1px solid var(--nbd-dm-aroma-border);
	border-radius: var(--nbd-dm-aroma-radius);
	background: linear-gradient(105deg, #fff 0%, #fff 38%, var(--nbd-dm-aroma-surface) 100%);
	box-shadow: 0 7px 18px rgb(26 77 143 / 6%);
	overflow: hidden;
}
.nbd-dm-aroma__intro-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(20px, 2.8vw, 34px);
}
.nbd-dm-aroma__eyebrow {
	position: relative;
	margin: 0 0 8px !important;
	padding-left: 38px;
	color: var(--nbd-dm-aroma-primary) !important;
	font-size: calc(var(--nbd-dm-aroma-current-body) - 2px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.nbd-dm-aroma__eyebrow::before,
.nbd-dm-aroma__rule {
	content: "";
	display: block;
	width: 28px;
	height: 3px;
	border-radius: 99px;
	background: var(--nbd-dm-aroma-accent);
}
.nbd-dm-aroma__eyebrow::before { position: absolute; left: 0; top: .7em; }
.nbd-dm-aroma__intro-copy h2 {
	margin: 0 0 15px !important;
	font-size: calc(var(--nbd-dm-aroma-current-heading) + 19px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.06;
	text-transform: uppercase;
}
.nbd-dm-aroma__intro-copy h2 span { color: var(--nbd-dm-aroma-accent); }
.nbd-dm-aroma__intro-text { max-width: 61ch; }
.nbd-dm-aroma__intro-text p {
	font-size: calc(var(--nbd-dm-aroma-current-body) + 1px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	line-height: 1.55;
}
.nbd-dm-aroma__intro-image {
	position: relative;
	min-width: 0;
	min-height: 270px;
	background: #e9f3ff;
	overflow: hidden;
}
.nbd-dm-aroma__intro-image::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0 auto 0 0;
	width: 21%;
	background: linear-gradient(90deg, #fff, rgb(255 255 255 / 0));
	pointer-events: none;
}
.nbd-dm-aroma__intro-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 54%;
}
.nbd-dm-aroma__intro-slogan {
	position: absolute;
	z-index: 2;
	top: 14px;
	left: 14%;
	color: var(--nbd-dm-aroma-primary);
	font-family: "Great Vibes", "Dancing Script", cursive;
	font-size: calc(var(--nbd-dm-aroma-current-heading) + 3px - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 400;
	line-height: 1.08;
	text-align: center;
	text-shadow: 0 1px 5px #fff;
	transform: rotate(-5deg);
}
.nbd-dm-aroma__intro-brand {
	position: absolute;
	z-index: 2;
	right: 13%;
	bottom: 20px;
	padding: 3px 8px;
	border-radius: 5px;
	background: rgb(255 255 255 / 76%);
	color: #164780;
	font-family: var(--nbd-heading-font, "Manrope", sans-serif);
	font-size: calc(var(--nbd-dm-aroma-current-body) + 6px - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
	box-shadow: 0 2px 9px rgb(12 54 105 / 9%);
}

.nbd-dm-aroma__section { margin-bottom: var(--nbd-dm-aroma-gap); }
.nbd-dm-aroma__section:last-child { margin-bottom: 0; }
.nbd-dm-aroma__section-heading {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	margin: 0 4px 13px;
}
.nbd-dm-aroma__section-heading .nbd-dm-aroma__rule { flex: 0 0 28px; }
.nbd-dm-aroma__section-heading h2 {
	flex: 0 0 auto;
	margin: 0 !important;
	font-size: calc(var(--nbd-dm-aroma-current-heading) - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.1;
	text-transform: uppercase;
}
.nbd-dm-aroma__heading-line {
	flex: 1 1 20px;
	height: 1px;
	background: var(--nbd-dm-aroma-border);
}
.nbd-dm-aroma__note {
	flex: 0 0 auto;
	color: var(--nbd-dm-aroma-text);
	font-size: calc(var(--nbd-dm-aroma-current-body) - 2px - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 600;
	letter-spacing: .025em;
	text-align: right;
	text-transform: uppercase;
}

.nbd-dm-aroma__split-card {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 10px;
}
.nbd-dm-aroma__history-copy,
.nbd-dm-aroma__values,
.nbd-dm-aroma__dealer-copy,
.nbd-dm-aroma__media-card,
.nbd-dm-aroma__product-card {
	min-width: 0;
	border: 1px solid var(--nbd-dm-aroma-border);
	border-radius: var(--nbd-dm-aroma-radius);
	box-shadow: 0 5px 16px rgb(22 82 150 / 5%);
	overflow: hidden;
}
.nbd-dm-aroma__history-copy,
.nbd-dm-aroma__values,
.nbd-dm-aroma__dealer-copy {
	background: linear-gradient(130deg, #fff 0%, var(--nbd-dm-aroma-surface) 100%);
}
.nbd-dm-aroma__history-copy {
	display: grid;
	align-content: center;
	gap: 8px;
	padding: clamp(20px, 2.3vw, 28px);
}
.nbd-dm-aroma__history-copy article {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	align-items: start;
	gap: 15px;
	padding: 7px 0;
}
.nbd-dm-aroma__history-copy .nbd-dm-aroma__icon {
	width: 54px;
	height: 54px;
	padding: 14px;
	border-radius: 50%;
	background: #e7f2ff;
	color: var(--nbd-dm-aroma-accent);
}
.nbd-dm-aroma__history-copy h3,
.nbd-dm-aroma__dealer-copy h3 {
	margin: 0 0 6px !important;
	font-size: calc(var(--nbd-dm-aroma-current-body) + 3px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 800;
	line-height: 1.3;
}
.nbd-dm-aroma__history-copy p,
.nbd-dm-aroma__dealer-copy p {
	font-size: calc(var(--nbd-dm-aroma-current-body) - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	line-height: 1.5;
}
.nbd-dm-aroma__media-card {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 310px;
	background: linear-gradient(135deg, #eaf3ff, #fff);
}
.nbd-dm-aroma__media-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.nbd-dm-aroma__history .nbd-dm-aroma__media-card img { object-position: center 46%; }
.nbd-dm-aroma__core .nbd-dm-aroma__media-card { min-height: 380px; background: #102f52; }
.nbd-dm-aroma__core .nbd-dm-aroma__media-card img { object-fit: cover; object-position: center; }
.nbd-dm-aroma__core .nbd-dm-aroma__media-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(7 34 63 / 88%) 0%, rgb(7 34 63 / 65%) 27%, transparent 53%);
	pointer-events: none;
}
.nbd-dm-aroma__core-overlay {
	position: absolute;
	z-index: 1;
	left: 6%;
	bottom: 15%;
	display: grid;
	gap: 16px;
	max-width: 30%;
	color: #fff;
}
.nbd-dm-aroma__core-overlay strong {
	font-family: var(--nbd-heading-font, "Manrope", sans-serif);
	font-size: calc(var(--nbd-dm-aroma-current-heading) - 2px - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 800;
	line-height: 1.18;
}
.nbd-dm-aroma__core-overlay small {
	padding-top: 11px;
	border-top: 3px solid #2a99ed;
	font-size: calc(var(--nbd-dm-aroma-current-body) - 1px - var(--nbd-dm-aroma-font-reduction, 1px));
	line-height: 1.4;
}
.nbd-dm-aroma__dealer .nbd-dm-aroma__media-card { min-height: 380px; }
.nbd-dm-aroma__dealer .nbd-dm-aroma__media-card img { object-fit: cover; object-position: center; }
.nbd-dm-aroma__image-badge {
	position: absolute;
	right: 13px;
	bottom: 12px;
	display: flex;
	align-items: center;
	gap: 7px;
	max-width: calc(100% - 26px);
	padding: 7px 9px;
	border: 1px solid rgb(207 227 248 / 75%);
	border-radius: 7px;
	background: rgb(255 255 255 / 94%);
	color: var(--nbd-dm-aroma-primary);
	font-size: calc(var(--nbd-dm-aroma-current-body) - 3px - var(--nbd-dm-aroma-font-reduction, 1px));
	font-weight: 800;
	box-shadow: 0 4px 12px rgb(20 49 88 / 14%);
}
.nbd-dm-aroma__image-badge .nbd-dm-aroma__icon { width: 20px; height: 20px; }

.nbd-dm-aroma__values {
	display: grid;
	align-content: center;
	gap: 9px;
	padding: clamp(17px, 2vw, 24px);
}
.nbd-dm-aroma__values article {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr);
	align-items: center;
	gap: 13px;
}
.nbd-dm-aroma__value-icon {
	display: grid;
	place-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background: linear-gradient(135deg, #2784e7, #06439b);
	color: #fff;
	box-shadow: 0 3px 10px rgb(19 94 190 / 18%);
}
.nbd-dm-aroma__value-icon .nbd-dm-aroma__icon { width: 25px; height: 25px; }
.nbd-dm-aroma__values h3 {
	margin: 0 0 2px !important;
	font-size: calc(var(--nbd-dm-aroma-current-body) + 1px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 800;
	line-height: 1.2;
}
.nbd-dm-aroma__values p {
	font-size: calc(var(--nbd-dm-aroma-current-body) - 1px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	line-height: 1.38;
}

.nbd-dm-aroma__dealer-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
	padding: clamp(20px, 2.3vw, 28px);
}
.nbd-dm-aroma__dealer-title {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}
.nbd-dm-aroma__dealer-title .nbd-dm-aroma__icon {
	width: 48px;
	height: 48px;
	padding: 10px;
	border-radius: 50%;
	background: #e7f2ff;
	color: var(--nbd-dm-aroma-accent);
}
.nbd-dm-aroma__dealer-title h3 { margin: 0 !important; }
.nbd-dm-aroma__trust-row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	margin-top: auto;
}
.nbd-dm-aroma__trust-row span {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: center;
	gap: 1px 5px;
	padding: 7px;
	border: 1px solid var(--nbd-dm-aroma-border);
	border-radius: 7px;
	background: #fff;
}
.nbd-dm-aroma__trust-row .nbd-dm-aroma__icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 22px;
	height: 22px;
	color: var(--nbd-dm-aroma-accent);
}
.nbd-dm-aroma__trust-row b { grid-column: 2; color: var(--nbd-dm-aroma-primary); font-size: calc(var(--nbd-dm-aroma-current-body) - 3px - var(--nbd-dm-aroma-font-reduction, 1px)); line-height: 1.2; overflow-wrap: anywhere; }
.nbd-dm-aroma__trust-row small { grid-column: 2; color: var(--nbd-dm-aroma-text); font-size: max(8px, calc(var(--nbd-dm-aroma-current-body) - 4px - var(--nbd-dm-aroma-font-reduction, 1px))); line-height: 1.25; overflow-wrap: anywhere; }

.nbd-dm-aroma__product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}
.nbd-dm-aroma__product-card {
	display: grid;
	grid-template-columns: minmax(0, .45fr) minmax(0, .55fr);
	align-items: stretch;
	background: #fff;
	transition: box-shadow .22s ease, transform .22s ease;
}
.nbd-dm-aroma__product-image {
	position: relative;
	min-width: 0;
	min-height: 250px;
	background: linear-gradient(145deg, #e5f1ff, #fff);
	overflow: hidden;
}
.nbd-dm-aroma__product-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.nbd-dm-aroma__product-copy {
	min-width: 0;
	padding: clamp(12px, 1.25vw, 17px);
}
.nbd-dm-aroma__product-title {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 7px;
}
.nbd-dm-aroma__product-title .nbd-dm-aroma__icon {
	flex: 0 0 23px;
	width: 23px;
	height: 23px;
	color: var(--nbd-dm-aroma-accent);
}
.nbd-dm-aroma__product-copy h3 {
	margin: 1px 0 0 !important;
	font-size: calc(var(--nbd-dm-aroma-current-body) + 2px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 800;
	line-height: 1.25;
}
.nbd-dm-aroma__product-copy h3 a,
.nbd-dm-aroma__list a { color: inherit; text-decoration: none; }
.nbd-dm-aroma__product-copy p {
	font-size: calc(var(--nbd-dm-aroma-current-body) - 2px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	line-height: 1.38;
}
.nbd-dm-aroma__product-copy .nbd-dm-aroma__paragraphs { margin-bottom: 6px; }
.nbd-dm-aroma__product-copy .nbd-dm-aroma__paragraphs > * + * { margin-top: 5px; }
.nbd-dm-aroma__list-intro {
	margin: 6px 0 4px !important;
	color: var(--nbd-dm-aroma-primary) !important;
	font-size: calc(var(--nbd-dm-aroma-current-body) - 3px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	font-weight: 700;
}
.nbd-dm-aroma__list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.nbd-dm-aroma__list li {
	position: relative;
	margin: 3px 0;
	padding-left: 17px;
	font-size: calc(var(--nbd-dm-aroma-current-body) - 2px - var(--nbd-dm-aroma-font-reduction, 1px)) !important;
	line-height: 1.3;
}
.nbd-dm-aroma__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--nbd-dm-aroma-accent);
	color: #fff;
	font-size: 9px;
	font-weight: 800;
}
@media (hover: hover) {
	.nbd-dm-aroma__product-card:hover {
		transform: translateY(-2px);
		box-shadow: 0 11px 23px rgb(22 82 150 / 12%);
	}
	.nbd-dm-aroma__product-copy h3 a:hover,
	.nbd-dm-aroma__list a:hover { color: var(--nbd-dm-aroma-accent); }
}

/* The standard full-width layout stays side by side. Embedded narrow contexts
 * switch according to the actual block width, independently of the viewport. */
@container nbd-dm-aroma (max-width: 760px) {
	.nbd-dm-aroma__intro { grid-template-columns: 1fr; }
	.nbd-dm-aroma__intro-image { order: -1; min-height: 0; aspect-ratio: 16 / 8; }
	.nbd-dm-aroma__intro-copy { padding: 19px; }
	.nbd-dm-aroma__intro-copy h2 { font-size: calc(var(--nbd-dm-aroma-current-heading) + 3px - var(--nbd-dm-aroma-font-reduction, 1px)) !important; }
	.nbd-dm-aroma__split-card { grid-template-columns: 1fr; }
	.nbd-dm-aroma__media-card,
	.nbd-dm-aroma__core .nbd-dm-aroma__media-card,
	.nbd-dm-aroma__dealer .nbd-dm-aroma__media-card { min-height: 0; aspect-ratio: 16 / 9; order: -1; }
	.nbd-dm-aroma__core-overlay { max-width: 34%; bottom: 10%; gap: 8px; }
	.nbd-dm-aroma__core-overlay strong { font-size: calc(var(--nbd-dm-aroma-current-heading) - 8px - var(--nbd-dm-aroma-font-reduction, 1px)); }
	.nbd-dm-aroma__core-overlay small { font-size: calc(var(--nbd-dm-aroma-current-body) - 3px - var(--nbd-dm-aroma-font-reduction, 1px)); }
	.nbd-dm-aroma__history-copy,
	.nbd-dm-aroma__values,
	.nbd-dm-aroma__dealer-copy { padding: 18px; }
	.nbd-dm-aroma__section-heading h2 { font-size: calc(var(--nbd-dm-aroma-current-heading) - 4px - var(--nbd-dm-aroma-font-reduction, 1px)) !important; }
	.nbd-dm-aroma__product-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.nbd-dm-aroma__product-image { min-height: 0; aspect-ratio: 16 / 9; }
	.nbd-dm-aroma__product-copy { padding: 15px; }
}
@container nbd-dm-aroma (max-width: 650px) {
	.nbd-dm-aroma__intro-image { aspect-ratio: 16 / 10; }
	.nbd-dm-aroma__intro-slogan { font-size: calc(var(--nbd-dm-aroma-current-heading) - 5px - var(--nbd-dm-aroma-font-reduction, 1px)); }
	.nbd-dm-aroma__intro-copy h2 { font-size: calc(var(--nbd-dm-aroma-current-heading) - var(--nbd-dm-aroma-font-reduction, 1px)) !important; }
	.nbd-dm-aroma__section-heading { flex-wrap: wrap; gap: 5px 8px; }
	.nbd-dm-aroma__section-heading .nbd-dm-aroma__heading-line { flex: 1 1 20px; }
	.nbd-dm-aroma__section-heading .nbd-dm-aroma__note { flex: 1 0 100%; text-align: left; font-size: max(8px, calc(var(--nbd-dm-aroma-current-body) - 4px - var(--nbd-dm-aroma-font-reduction, 1px))); }
	.nbd-dm-aroma__product-grid { grid-template-columns: 1fr; }
	.nbd-dm-aroma__product-card { grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); grid-template-rows: auto; }
	.nbd-dm-aroma__product-image { aspect-ratio: auto; min-height: 220px; }
}
@media (max-width: 620px) {
	.nbd-dm-aroma {
		--nbd-dm-aroma-current-heading: var(--nbd-dm-aroma-heading-m);
		--nbd-dm-aroma-current-body: var(--nbd-dm-aroma-body-m);
		font-size: calc(var(--nbd-dm-aroma-current-body) - var(--nbd-dm-aroma-font-reduction, 1px));
	}
	.nbd-dm-aroma__section-heading h2 { font-size: calc(var(--nbd-dm-aroma-current-heading) - var(--nbd-dm-aroma-font-reduction, 1px)) !important; }
	.nbd-dm-aroma__history-copy p,
	.nbd-dm-aroma__dealer-copy p { font-size: calc(var(--nbd-dm-aroma-current-body) - var(--nbd-dm-aroma-font-reduction, 1px)) !important; }
	.nbd-dm-aroma__intro-slogan { left: 8%; font-size: calc(var(--nbd-dm-aroma-current-heading) - 3px - var(--nbd-dm-aroma-font-reduction, 1px)); }
	.nbd-dm-aroma__intro-brand { right: 8%; font-size: calc(var(--nbd-dm-aroma-current-body) + 2px - var(--nbd-dm-aroma-font-reduction, 1px)); }
	.nbd-dm-aroma__history-copy article { grid-template-columns: 42px minmax(0, 1fr); gap: 10px; }
	.nbd-dm-aroma__history-copy .nbd-dm-aroma__icon { width: 42px; height: 42px; padding: 10px; }
	.nbd-dm-aroma__product-card { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.nbd-dm-aroma__product-image { aspect-ratio: 16 / 9; min-height: 0; }
	.nbd-dm-aroma__trust-row { grid-template-columns: 1fr; }
}
