/* Bork Machines Manager — front-end
   Kolory i typografia odwzorowane z bork-group.eu:
   Oswald / Poppins, tło #131313, akcent #FEC101, przycisk #FFC336. */

.bmm {
	--bmm-radius: 0px;
	--bmm-gap: 30px;
	--bmm-maxw: 1140px;
	color: var(--bmm-muted, #c8c8c8);
	font-family: var(--bmm-font-body, "Poppins", sans-serif);
	box-sizing: border-box;
}

.bmm *,
.bmm *::before,
.bmm *::after {
	box-sizing: inherit;
}

.bmm-machine {
	background: var(--bmm-bg, #131313);
}

.bmm-container {
	width: 100%;
	max-width: var(--bmm-maxw);
	margin-inline: auto;
	padding-inline: 20px;
}

.bmm-narrow {
	max-width: 860px;
}

.bmm-section {
	padding-block: 70px;
	background: var(--bmm-bg, #131313);
}

.bmm-section--alt {
	background: var(--bmm-bg-alt, #131313);
}

.bmm-section--tight {
	padding-block: 0 70px;
}

/* ------------------------------------------------------------- Typografia */

.bmm-h1,
.bmm-h2,
.bmm-card__title,
.bmm-section-title {
	font-family: var(--bmm-font-heading, "Oswald", sans-serif);
	color: var(--bmm-text, #fff);
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
}

.bmm-h1,
.bmm-h2,
.bmm-section-title {
	font-weight: 900;
}

.bmm-h1 {
	font-size: 85px;
	line-height: 1.05;
}

.bmm-h2 {
	font-size: 55px;
	line-height: 1.1;
	margin-bottom: 22px;
}

/* nagłówki sekcji Key advantages / Applications / Technical highlights */
.bmm-h2--accent {
	color: var(--bmm-heading-accent, #ffc501);
}

.bmm-eyebrow {
	margin: 0 0 10px;
	font-family: var(--bmm-font-body, "Poppins", sans-serif);
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--bmm-accent-2, #fea601);
}

.bmm-prose {
	color: var(--bmm-muted, #d3d3d3);
	font-size: 15px;
	line-height: 1.75;
}

@media (max-width: 1366px) {
	.bmm-h1 { font-size: 75px; }
}

@media (max-width: 1024px) {
	.bmm-h1 { font-size: 55px; }
	.bmm-h2 { font-size: 45px; }
}

@media (max-width: 767px) {
	.bmm-h1 { font-size: 45px; }
	.bmm-h2 { font-size: 35px; }
}

.bmm-prose p {
	margin: 0 0 1.1em;
}

.bmm-prose p:last-child {
	margin-bottom: 0;
}

.bmm-section-title {
	font-size: 45px;
	line-height: 1.1;
	margin-bottom: 40px;
	text-align: center;
	color: var(--bmm-heading-accent, #ffc501);
}

@media (max-width: 767px) {
	.bmm-section-title { font-size: 32px; }
}

/* -------------------------------------------------------------------- Hero */

.bmm-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 311px;
	padding-block: 70px 90px;
	background: var(--bmm-bg, #131313);
	overflow: hidden;
}

/* wzór z tła nagłówka — ten sam plik i to samo krycie co na stronie */
.bmm-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--bmm-hero-bg, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: var(--bmm-hero-opacity, 0.23);
	z-index: 0;
	pointer-events: none;
}

@media (max-width: 1024px) {
	.bmm-hero { min-height: 24vh; }
}

@media (max-width: 767px) {
	.bmm-hero { min-height: 35vh; }
}

.bmm-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
}

.bmm-hero__shape {
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	line-height: 0;
	z-index: 1;
	pointer-events: none;
}

.bmm-hero__shape svg {
	display: block;
	width: calc(100% + 1.3px);
	height: 64px;
	transform: rotateY(180deg);
}

.bmm-hero__shape .bmm-shape-fill {
	fill: var(--bmm-bg, #131313);
}



/* ------------------------------------------------------------------ Badge */

.bmm-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 2px;
	font-family: var(--bmm-font-body, "Poppins", sans-serif);
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.5;
	text-transform: uppercase;
}

.bmm-badge--sold {
	background: #ff0000;
	color: #fff;
}

.bmm-badge--hero {
	margin-top: 24px;
}

.bmm-badge--inline {
	background: #ff0000;
	color: #fff;
	font-size: 0.7rem;
	padding: 3px 8px;
	margin-left: 8px;
	vertical-align: middle;
}

/* --------------------------------------------------------------- Przyciski */

.bmm-btn {
	display: inline-block;
	padding: 12px 28px;
	border: 1px solid transparent;
	border-radius: 15px;
	background: var(--bmm-btn-bg, #ff0101);
	color: var(--bmm-btn-text, #ffffff);
	font-family: var(--bmm-font-btn, "Roboto", sans-serif);
	font-size: 27px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.bmm-btn:hover,
.bmm-btn:focus-visible {
	background: var(--bmm-btn-hover, #000000);
	color: var(--bmm-btn-text, #ffffff);
}

@media (max-width: 767px) {
	.bmm-btn {
		font-size: 20px;
		padding: 11px 22px;
	}
}

.bmm-btn--ghost {
	background: transparent;
	border-color: var(--bmm-accent, #fec101);
	color: var(--bmm-accent, #fec101);
	padding: 10px 24px;
	font-size: 15px;
	border-radius: 8px;
}

.bmm-btn--ghost:hover,
.bmm-btn--ghost:focus-visible {
	background: var(--bmm-accent, #fec101);
	color: var(--bmm-btn-text, #131313);
	border-color: var(--bmm-accent, #fec101);
}

.bmm-btn:focus-visible,
.bmm-gallery-grid__item:focus-visible,
.bmm-menu__item:focus-visible,
.bmm-card__title a:focus-visible {
	outline: 2px solid var(--bmm-accent, #fec101);
	outline-offset: 3px;
}

.bmm-cta {
	margin: 34px 0 0;
}

.bmm-cta--center {
	margin-top: 50px;
	text-align: center;
}

/* ------------------------------------------------------------------ Layout */

.bmm-split {
	display: grid;
	grid-template-columns: 53.772% 46.142%;
	gap: 10px;
	align-items: center;
}

.bmm-split--media-first {
	grid-template-columns: 46.142% 53.772%;
}

.bmm-split--half {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

.bmm-split--top {
	align-items: start;
}

.bmm-split--media-first .bmm-split__media {
	order: -1;
}

@media (max-width: 1024px) {
	.bmm-split,
	.bmm-split--media-first,
	.bmm-split--half {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.bmm-split--media-first .bmm-split__media {
		order: 0;
	}

	.bmm-section {
		padding-block: 48px;
	}

	.bmm-hero {
		padding-block: 70px 80px;
	}
}

/* ------------------------------------------------- Panel „Our offer” */

.bmm-panel {
	background: var(--bmm-panel-bg, #ffc501);
	border-radius: 15px;
	padding: 24px;
	color: var(--bmm-panel-text, #000);
}

.bmm-panel .bmm-h2 {
	color: var(--bmm-panel-text, #000);
}

.bmm-panel .bmm-ticklist li {
	color: var(--bmm-panel-text, #000);
	font-size: 16px;
}

.bmm-panel .bmm-ticklist li::before {
	background-color: var(--bmm-panel-icon, #ff7f01);
}

.bmm-panel .bmm-quickspecs {
	background: rgba(0, 0, 0, 0.18);
	border-color: rgba(0, 0, 0, 0.18);
}

.bmm-panel .bmm-quickspecs__row {
	background: var(--bmm-panel-bg, #ffc501);
}

.bmm-panel .bmm-quickspecs dt {
	color: rgba(0, 0, 0, 0.65);
}

.bmm-panel .bmm-quickspecs dd {
	color: var(--bmm-panel-text, #000);
}

/* ------------------------------------------------------------------- Listy */

.bmm-ticklist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bmm-ticklist li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	color: var(--bmm-dim, #b6b6b6);
	font-size: 16px;
	line-height: 1.6;
}

/* ikona „check” — ten sam kształt, którego używa lista ikon na stronie */
.bmm-ticklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 16px;
	height: 16px;
	background-color: var(--bmm-accent, #fec101);
	-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.9 439.4 7.5 273c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 10-26.2 10-36.2 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.9 439.4 7.5 273c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 10-26.2 10-36.2 0z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.bmm-quickspecs {
	margin: 0 0 30px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.bmm-quickspecs__row {
	background: var(--bmm-bg, #131313);
	padding: 14px 16px;
}

.bmm-quickspecs dt {
	margin: 0 0 4px;
	color: var(--bmm-dim, #939393);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bmm-quickspecs dd {
	margin: 0;
	font-family: var(--bmm-font-heading, "Oswald", sans-serif);
	font-size: 1.15rem;
	color: var(--bmm-text, #fff);
	text-transform: uppercase;
}

/* ----------------------------------------------------------------- Galeria */

.bmm-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.bmm-gallery-grid--1 { grid-template-columns: minmax(0, 1fr); }
.bmm-gallery-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bmm-gallery-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bmm-gallery-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 640px) {
	.bmm-gallery-grid,
	.bmm-gallery-grid--3,
	.bmm-gallery-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.bmm-gallery-grid__item {
	display: block;
	position: relative;
	overflow: hidden;
	line-height: 0;
	background: #0d0d0d;
}

.bmm-gallery-grid__item img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.bmm-gallery-grid__item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(19, 19, 19, 0.55);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.bmm-gallery-grid__item:hover::after {
	opacity: 1;
}

.bmm-gallery-grid__item:hover img {
	transform: scale(1.06);
}

.bmm-decor-img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: contain;
	object-position: center center;
	border-radius: 15px;
	margin: 0 auto;
}

@media (max-width: 767px) {
	.bmm-decor-img { height: 260px; }
}

.bmm-decor-img + .bmm-decor-img {
	margin-top: 18px;
}

/* ---------------------------------------------------------------- Kafelki */

.bmm-grid {
	display: grid;
	gap: var(--bmm-gap);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bmm-grid--1 { grid-template-columns: minmax(0, 1fr); }
.bmm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bmm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bmm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px) {
	.bmm-grid--3,
	.bmm-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.bmm-grid,
	.bmm-grid--2,
	.bmm-grid--3,
	.bmm-grid--4 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bmm-card {
	display: flex;
	flex-direction: column;
	background: var(--bmm-surface, #191919);
	border: 1px solid rgba(255, 255, 255, 0.06);
	overflow: hidden;
	transition: border-color 0.25s ease;
}

.bmm-card:hover {
	border-color: var(--bmm-accent, #fec101);
}

.bmm-card__media {
	position: relative;
	display: block;
	line-height: 0;
	overflow: hidden;
	background: #0d0d0d;
}

.bmm-card__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.bmm-card:hover .bmm-card__media img {
	transform: scale(1.04);
}

.bmm-card__placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: repeating-linear-gradient(45deg, #171717, #171717 12px, #1d1d1d 12px, #1d1d1d 24px);
}

.bmm-card__media .bmm-badge--sold {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
}

.bmm-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px 22px 26px;
	flex: 1;
}

.bmm-card__title {
	font-size: 1.15rem;
	line-height: 1.25;
	font-weight: 500;
}

.bmm-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.bmm-card__title a:hover {
	color: var(--bmm-accent, #fec101);
}

.bmm-card__desc {
	margin: 0;
	color: var(--bmm-dim, #939393);
	font-size: 0.92rem;
	line-height: 1.65;
}

.bmm-card__specs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
}

.bmm-card__specs li {
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 4px 9px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: var(--bmm-dim, #939393);
}

.bmm-card__body .bmm-btn {
	margin-top: auto;
	align-self: flex-start;
}

.bmm-card.is-sold-out .bmm-card__media img {
	filter: grayscale(1);
	opacity: 0.6;
}

/* ---------------------------------------------------------- Lista / stopka */

.bmm-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bmm-list--cols-2 { columns: 2; }
.bmm-list--cols-3 { columns: 3; }
.bmm-list--cols-4 { columns: 4; }

.bmm-list__item {
	margin-bottom: 10px;
	break-inside: avoid;
	font-family: var(--bmm-font-body, "Poppins", sans-serif);
	font-size: 0.94rem;
}

.bmm-list__item a {
	color: var(--bmm-dim, #939393);
	text-decoration: none;
	transition: color 0.2s ease;
}

.bmm-list__item a:hover {
	color: var(--bmm-accent, #fec101);
}

@media (max-width: 640px) {
	.bmm-list--cols-2,
	.bmm-list--cols-3,
	.bmm-list--cols-4 {
		columns: 1;
	}
}

/* -------------------------------------------------------------- Mega menu */

.bmm-menu {
	display: grid;
	gap: 4px 30px;
}

.bmm-menu--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bmm-menu--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bmm-menu--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 782px) {
	.bmm-menu--cols-2,
	.bmm-menu--cols-3,
	.bmm-menu--cols-4 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bmm-menu__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	color: #ededed;
	font-family: var(--bmm-font-body, "Poppins", sans-serif);
	font-size: 0.94rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.bmm-menu__item:hover {
	color: var(--bmm-accent, #fec101);
}

.bmm-menu__thumb {
	flex: 0 0 42px;
	line-height: 0;
}

.bmm-menu__thumb img {
	width: 42px;
	height: 42px;
	object-fit: cover;
}

.bmm-menu__title {
	display: block;
	line-height: 1.3;
}

.bmm-menu__sold {
	display: inline-block;
	margin-top: 3px;
	padding: 2px 7px;
	background: #ff0000;
	color: #fff;
	font-size: 0.66rem;
	text-transform: uppercase;
}

.bmm-menu__item.is-sold-out .bmm-menu__thumb img {
	filter: grayscale(1);
	opacity: 0.6;
}

/* --------------------------------------------------------------- Lightbox */

.bmm-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.85);
	padding: 40px 20px;
}

.bmm-lightbox[hidden] {
	display: none;
}

.bmm-lightbox__img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.bmm-lightbox__btn {
	position: absolute;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #efefef;
	width: 46px;
	height: 46px;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bmm-lightbox__btn:hover {
	background: var(--bmm-accent-2, #fea601);
	border-color: var(--bmm-accent-2, #fea601);
	color: #131313;
}

.bmm-lightbox__close { top: 18px; right: 18px; }
.bmm-lightbox__prev { left: 18px; top: 50%; transform: translateY(-50%); }
.bmm-lightbox__next { right: 18px; top: 50%; transform: translateY(-50%); }

.bmm-lightbox__count {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	color: #efefef;
	font-size: 0.85rem;
}

/* Podświetlenie pola po wejściu z linku „Kup teraz” */
.bmm-field-highlight {
	animation: bmm-pulse 1.6s ease-out 1;
}

@keyframes bmm-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(254, 193, 1, 0); }
	30%      { box-shadow: 0 0 0 4px rgba(254, 193, 1, 0.5); }
}

@media (prefers-reduced-motion: reduce) {
	.bmm *,
	.bmm-field-highlight {
		animation: none !important;
		transition: none !important;
	}

	.bmm-card:hover .bmm-card__media img,
	.bmm-gallery-grid__item:hover img {
		transform: none;
	}
}
