/* Началната (predlozhenie/index.html 19-149). Стойностите са от bmg.css - редовете са в коментарите.
   position:absolute само за .bmgf-tile__cap, .bmgf-banner__arrow, .bmgf-dots (PLAN.md D.5). */

/* ---------- банер (607-618, 117-119, 686-689) ---------- */
.bmgf-banner {
	position: relative;
	background: #F3EEE6;
}

.bmgf-banner__slides {
	display: grid;
}

.bmgf-banner__slide {
	grid-area: 1 / 1;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s;
}

.bmgf-banner__slide.is-on {
	opacity: 1;
	visibility: visible;
}

.bmgf-banner__slide img {
	width: 100%;
	height: auto;
	display: block;
}

.bmgf-banner__slide .bmgf-banner__img--m {
	display: none;
}

.bmgf-banner__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, .88);
	color: var(--bmgf-navy);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(9, 23, 58, .15);
	display: grid;
	place-items: center;
	padding: 0 0 4px;
}

.bmgf-banner__arrow:hover {
	background: #fff;
}

.bmgf-banner__arrow--prev {
	left: 18px;
}

.bmgf-banner__arrow--next {
	right: 18px;
}

.bmgf-banner .bmgf-dots {
	display: flex;
	gap: 10px;
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
}

.bmgf-banner .bmgf-dots button {
	width: 34px;
	height: 5px;
	border-radius: 3px;
	border: 0;
	background: rgba(17, 41, 88, .25);
	cursor: pointer;
	padding: 0;
}

.bmgf-banner .bmgf-dots button[aria-pressed="true"] {
	background: var(--bmgf-navy);
}

/* ---------- предимства (100-105) ---------- */
.bmgf-perks {
	background: var(--bmgf-mist);
	border-bottom: 1px solid var(--bmgf-line);
}

.bmgf-perks .bmgf-container {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 24px;
	padding-block: 18px;
}

.bmgf-perk {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: 14px;
	line-height: 1.35;
	color: var(--bmgf-muted);
}

.bmgf-perk b {
	display: block;
	color: var(--bmgf-ink);
	font-size: 14.5px;
}

.bmgf-perk .bmgf-ico {
	width: 30px;
	height: 30px;
	color: var(--bmgf-navy);
	stroke-width: 1.5;
}

.bmgf-perk--gold .bmgf-ico {
	color: var(--bmgf-gold);
}

/* ---------- плочки „Какво пиеш?" (122-128) ---------- */
.bmgf-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.bmgf-tile {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
	aspect-ratio: 4 / 5;
	display: block;
	background: var(--bmgf-navy);
}

.bmgf-tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}

.bmgf-tile:hover img {
	transform: scale(1.04);
}

.bmgf-tile__cap {
	position: absolute;
	inset: auto 0 0 0;
	padding: 22px 20px 20px;
	background: linear-gradient(180deg, rgba(9, 23, 58, 0) 0%, rgba(9, 23, 58, .86) 70%);
	display: grid;
	gap: 4px;
}

.bmgf-tile__cap b {
	font-family: var(--bmgf-f-display);
	font-size: 24px;
	line-height: 1.15;
}

.bmgf-tile__cap small {
	color: #D7E0F3;
	font-size: 14px;
	display: flex;
	justify-content: space-between;
	gap: 8px;
}

/* ---------- „Каква машина имаш?" (131-137) ---------- */
.bmgf-machines {
	background: var(--bmgf-mist);
	border-radius: 22px;
	padding: 30px;
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 2fr);
	gap: 28px;
	align-items: center;
}

/* inline style от index.html 49: font-size:15.5px; margin-top:8px */
.bmgf-machines .bmgf-lead {
	font-size: 15.5px;
	margin-top: 8px;
}

.bmgf-mach-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.bmgf-mach {
	display: grid;
	gap: 2px;
	align-content: start;
	background: #fff;
	border: 1px solid var(--bmgf-line);
	border-radius: 14px;
	padding: 14px 16px;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}

a.bmgf-mach:hover {
	border-color: var(--bmgf-navy);
	box-shadow: 0 8px 20px rgba(9, 23, 58, .08);
}

.bmgf-mach b {
	font-size: 15.5px;
	color: var(--bmgf-ink);
}

.bmgf-mach span {
	font-size: 13px;
	color: var(--bmgf-muted);
}

.bmgf-mach .bmgf-mach__cap {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	margin-bottom: 6px;
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 800;
	color: #fff;
	background: var(--bmgf-navy);
}

/* ---------- числата (140-145) ---------- */
.bmgf-stats {
	background: radial-gradient(120% 140% at 10% 0%, #1A3A7A 0%, var(--bmgf-navy-2) 55%, var(--bmgf-navy-3) 100%);
	color: #fff;
}

.bmgf-stats .bmgf-container {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-block: 44px;
}

.bmgf-stat {
	text-align: center;
	display: grid;
	gap: 4px;
	padding-inline: 12px;
	border-left: 1px solid rgba(241, 217, 166, .22);
}

.bmgf-stat:first-child {
	border-left: 0;
}

.bmgf-stat b {
	font-family: var(--bmgf-f-display);
	font-size: 44px;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.bmgf-stat span {
	color: #C5D2EE;
	font-size: 14.5px;
}

/* ---------- точките (181-188) ---------- */
.bmgf-points {
	background: linear-gradient(120deg, #FBF5E9 0%, var(--bmgf-gold-soft) 60%, #F1DFBA 100%);
	border-radius: 22px;
	padding: 38px 40px;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 30px;
	align-items: center;
}

/* inline style от index.html 86: display:grid; gap:14px */
.bmgf-points__txt {
	display: grid;
	gap: 14px;
}

.bmgf-points .bmgf-h2 {
	font-size: 32px;
}

.bmgf-points p {
	margin: 0;
	color: #5A4A2C;
}

.bmgf-pt-rules {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.bmgf-pt-rule {
	background: rgba(255, 255, 255, .75);
	border-radius: 14px;
	padding: 16px;
	display: grid;
	gap: 2px;
	text-align: center;
}

.bmgf-pt-rule b {
	font-family: var(--bmgf-f-display);
	font-size: 28px;
	color: var(--bmgf-gold-ink);
	line-height: 1.1;
}

.bmgf-pt-rule span {
	font-size: 13.5px;
	color: #5A4A2C;
	line-height: 1.35;
}

/* ---------- кафемашината (191-198) ---------- */
.bmgf-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 48px;
	align-items: center;
}

.bmgf-feature__img {
	background: radial-gradient(70% 70% at 50% 45%, #E4EDFF 0%, #F6F8FC 60%, #fff 100%);
	border-radius: 24px;
	display: grid;
	place-items: center;
	padding: 24px;
}

.bmgf-feature__img img {
	max-width: 440px;
	width: 100%;
}

.bmgf-feature__txt {
	display: grid;
	gap: 16px;
}

/* inline style от index.html 101: font-size:16.5px */
.bmgf-feature__txt .bmgf-lead {
	font-size: 16.5px;
}

.bmgf-feature__txt .bmgf-lead p {
	margin: 0 0 .6em;
}

.bmgf-feature__txt .bmgf-lead p:last-child {
	margin-bottom: 0;
}

.bmgf-specs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 6px 0 4px;
	padding: 0;
	list-style: none;
}

.bmgf-specs li {
	background: var(--bmgf-mist);
	border-radius: 12px;
	padding: 12px;
	display: grid;
	gap: 2px;
}

.bmgf-specs b {
	font-size: 18px;
	color: var(--bmgf-navy);
	font-variant-numeric: tabular-nums;
}

.bmgf-specs span {
	font-size: 12.5px;
	color: var(--bmgf-muted);
}

/* inline style от index.html 104: display:flex; gap:12px; flex-wrap:wrap */
.bmgf-feature__acts {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* ---------- отзиви (201-209) ---------- */
.bmgf-reviews {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.bmgf-review {
	margin: 0;
	border: 1px solid var(--bmgf-line);
	border-radius: var(--bmgf-r-card);
	padding: 22px;
	display: grid;
	gap: 10px;
	align-content: start;
}

.bmgf-review q {
	font-family: var(--bmgf-f-display);
	font-size: 21px;
	line-height: 1.35;
	quotes: "„" "“";
	color: var(--bmgf-ink);
}

/* Миниатюра на продукта + име / продукт-линк + „Потвърдена покупка" (PLAN.md K.2 т.2). */
.bmgf-review__who {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	font-size: 13.5px;
	color: var(--bmgf-muted);
}

.bmgf-review__who--noimg {
	grid-template-columns: minmax(0, 1fr) auto;
}

.bmgf-review__who b {
	color: var(--bmgf-ink);
}

.bmgf-review__prod {
	display: block;
}

.bmgf-review__img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--bmgf-line);
	background: #fff;
	display: block;
}

.bmgf-review__meta {
	min-width: 0;
	line-height: 1.4;
}

.bmgf-review__meta a {
	color: var(--bmgf-muted);
	text-decoration: none;
}

.bmgf-review__meta a:hover {
	color: var(--bmgf-navy);
	text-decoration: underline;
}

.bmgf-verified {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	color: var(--bmgf-ok);
	font-weight: 700;
	font-size: 12.5px;
}

.bmgf-verified .bmgf-ico {
	width: 15px;
	height: 15px;
}

.bmgf-rv-sum {
	display: flex;
	gap: 14px;
	align-items: center;
	flex-wrap: wrap;
	color: var(--bmgf-muted);
	font-size: 14.5px;
}

.bmgf-rv-sum > b {
	font-family: var(--bmgf-f-display);
	font-size: 34px;
	color: var(--bmgf-ink);
	line-height: 1;
}

/* ---------- партньори (212-215) ---------- */
.bmgf-brands {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.bmgf-brand-logo {
	border: 1px solid var(--bmgf-line);
	border-radius: 14px;
	min-height: 110px;
	display: grid;
	place-items: center;
	padding: 18px 26px;
	background: #fff;
}

.bmgf-brand-logo img {
	max-height: 64px;
	width: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .82;
	transition: filter .2s, opacity .2s;
}

.bmgf-brand-logo:hover img {
	filter: none;
	opacity: 1;
}

/* ---------- плащане и доставка (620-639, 698-699) ---------- */
.bmgf-pay2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.bmgf-pay-card {
	border: 1px solid var(--bmgf-line);
	border-radius: 20px;
	padding: 28px;
	display: grid;
	gap: 14px;
	align-content: start;
	background: #fff;
	min-width: 0;
}

.bmgf-pay-card .bmgf-link {
	white-space: normal;
}

.bmgf-pay-logos {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	min-height: 40px;
}

.bmgf-pay-logos img {
	height: 28px;
	width: auto;
}

.bmgf-cardmark {
	display: inline-grid;
	place-items: center;
	height: 30px;
	min-width: 48px;
	padding: 0 8px;
	border: 2px solid var(--bmgf-navy);
	border-radius: 6px;
	font-weight: 900;
	font-style: italic;
	color: var(--bmgf-navy);
	font-size: 13px;
}

.bmgf-cardmark--mc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.bmgf-cardmark--mc i {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--bmgf-navy);
	display: block;
}

.bmgf-cardmark--mc i + i {
	background: transparent;
	border: 2px solid var(--bmgf-navy);
	margin-left: -6px;
}

.bmgf-boxnow {
	display: inline-grid;
	place-items: center;
	height: 30px;
	padding: 0 10px;
	border: 2px solid var(--bmgf-ink);
	border-radius: 6px;
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .04em;
	color: var(--bmgf-ink);
}

.bmgf-pay-title {
	font-family: var(--bmgf-f-display);
	font-size: 24px;
	margin: 0;
	display: flex;
	gap: 10px;
	align-items: center;
}

.bmgf-pay-title .bmgf-ico {
	color: var(--bmgf-ok);
	width: 26px;
	height: 26px;
}

.bmgf-pay-sub {
	font-size: 12.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--bmgf-muted);
	margin: 0;
}

.bmgf-pay-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.bmgf-pay-list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 14.5px;
	color: var(--bmgf-muted);
	line-height: 1.45;
}

.bmgf-pay-list li b {
	display: block;
	color: var(--bmgf-ink);
	font-size: 15px;
}

.bmgf-pay-list .bmgf-ico {
	width: 24px;
	height: 24px;
	color: var(--bmgf-navy);
	margin-top: 2px;
}

.bmgf-pay-free {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--bmgf-ok-soft);
	color: #1D4D35;
	border-radius: 14px;
	padding: 14px 16px;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.45;
}

.bmgf-pay-free .bmgf-ico {
	color: var(--bmgf-ok);
	width: 26px;
	height: 26px;
}

.bmgf-pay-free b {
	color: var(--bmgf-ok);
}

.bmgf-pay-small {
	font-size: 13px;
	color: var(--bmgf-muted);
	margin: 0;
	line-height: 1.5;
}

.bmgf-pay-small p {
	margin: 0;
}

/* ======================== ТАБЛЕТ (477-481) ======================== */
@media (max-width: 1100px) {
	.bmgf-perks .bmgf-container {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bmgf-tiles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bmgf-mach-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bmgf-machines {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmgf-specs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ======================== ТЕЛЕФОН (516-561, 687-691) ======================== */
@media (max-width: 767px) {
	.bmgf-banner__slide .bmgf-banner__img--d {
		display: none;
	}

	.bmgf-banner__slide .bmgf-banner__img--m {
		display: block;
	}

	.bmgf-banner__arrow {
		display: none;
	}

	.bmgf-perks .bmgf-container {
		grid-auto-flow: row;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 12px;
		padding-block: 14px;
	}

	.bmgf-perk {
		font-size: 12.5px;
		gap: 8px;
	}

	.bmgf-perk b {
		font-size: 13px;
	}

	.bmgf-perk .bmgf-ico {
		width: 24px;
		height: 24px;
	}

	.bmgf-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.bmgf-tile {
		aspect-ratio: 3 / 4;
	}

	.bmgf-tile__cap {
		padding: 14px;
	}

	.bmgf-tile__cap b {
		font-size: 19px;
	}

	.bmgf-machines {
		padding: 20px;
		gap: 16px;
	}

	.bmgf-mach-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bmgf-mach {
		padding: 12px;
	}

	.bmgf-stats .bmgf-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 26px;
		padding-block: 30px;
	}

	.bmgf-stat:nth-child(3) {
		border-left: 0;
	}

	.bmgf-stat b {
		font-size: 32px;
	}

	.bmgf-stat span {
		font-size: 13px;
	}

	.bmgf-tabove .bmgf-tabs {
		display: flex;
		width: 100%;
	}

	.bmgf-tabove .bmgf-tabs [role="tab"] {
		flex: 1;
		padding: 9px 10px;
	}

	.bmgf-points {
		grid-template-columns: minmax(0, 1fr);
		padding: 26px 20px;
		gap: 18px;
	}

	.bmgf-points .bmgf-h2 {
		font-size: 25px;
	}

	.bmgf-pt-rules {
		gap: 8px;
	}

	.bmgf-pt-rule b {
		font-size: 22px;
	}

	.bmgf-pt-rule span {
		font-size: 12px;
	}

	.bmgf-feature {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.bmgf-reviews {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.bmgf-review q {
		font-size: 19px;
	}

	.bmgf-review__who {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.bmgf-review__who--noimg {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmgf-verified {
		grid-column: 1 / -1;
	}

	.bmgf-brands {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.bmgf-brand-logo {
		min-height: 84px;
		padding: 14px;
	}

	.bmgf-pay2 {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.bmgf-pay-card {
		padding: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bmgf-banner__slide,
	.bmgf-tile img {
		transition: none;
	}
}
