/* RamzesMoto: wygląd sklepu. Ładowane po stylach Blocksy (mu-plugin ramzesmoto). */

@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/archivo-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root {
	--rm-bg: #0c0c0c;
	--rm-surface: #151515;
	--rm-surface-2: #1c1c1c;
	--rm-line: #262626;
	--rm-text: #f3f3f3;
	--rm-muted: #a3a3a3;
	--rm-faint: #8c8c8c;
	--rm-brand: #e53e2d;        /* czerwień logo: duże nagłówki i dekoracje */
	--rm-accent: #d63526;       /* tło przycisków: biały tekst ma kontrast 4,8:1 */
	--rm-accent-hover: #b82b1d;
	--rm-accent-text: #ff5a47;  /* czerwony tekst i linki na ciemnym tle: kontrast ≥ 5:1 */
	--rm-photo: #f1f1f1;
	--rm-radius: 14px;
	--rm-wrap: 1320px;
	--rm-gutter: clamp(16px, 4vw, 40px);
	--rm-font: 'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

	/* Blocksy: paleta w Customizerze jest jasna, tu przestawiamy ją na ciemny sklep */
	--theme-font-family: var(--rm-font);
	--theme-headings-font-family: var(--rm-font);
	--theme-text-color: #b8b8b8;
	--theme-headings-color: var(--rm-text);
	--theme-heading-1-color: var(--rm-text);
	--theme-heading-2-color: var(--rm-text);
	--theme-heading-3-color: var(--rm-text);
	--theme-border-color: var(--rm-line);
	--theme-form-field-border-initial-color: #333;
	--theme-form-field-border-focus-color: var(--rm-accent);
	--theme-form-field-background-initial-color: var(--rm-surface);
	--theme-form-field-background-focus-color: var(--rm-surface-2);
	--theme-form-field-text-initial-color: var(--rm-text);
	--theme-form-field-text-focus-color: var(--rm-text);
	--theme-form-field-border-radius: 10px;
	--theme-form-field-height: 48px;
	--theme-button-border-radius: 10px;
	--theme-button-min-height: 48px;
	--theme-palette-color-1: var(--rm-accent);
	--theme-link-initial-color: var(--rm-accent-text);
	--theme-button-background-initial-color: var(--rm-accent);
	--theme-button-background-hover-color: var(--rm-accent-hover);
}

body {
	background: var(--rm-bg);
	color: var(--rm-text);
	font-family: var(--rm-font);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title,
.product_title {
	font-family: var(--rm-font);
}

.rm-icon { width: 1em; height: 1em; flex: none; vertical-align: -0.125em; }

/* Widoczne miejsca do uzupełnienia, do usunięcia przed startem */
mark.rm-todo {
	background: transparent;
	color: #ffd34d;
	outline: 1px dashed #ffd34d;
	outline-offset: 2px;
	border-radius: 3px;
	padding: 0 3px;
}

mark.rm-accent { background: none; color: var(--rm-brand); }

/* Gość nie widzi elementów z brakującymi danymi (zalogowany widzi żółte ramki, żeby wiedzieć, co uzupełnić). */
body:not(.logged-in) .rm-topbar span:has(mark.rm-todo),
body:not(.logged-in) .rm-visit__line:has(mark.rm-todo),
body:not(.logged-in) .rm-footer__contact li:has(mark.rm-todo),
body:not(.logged-in) .rm-contact__card:has(mark.rm-todo),
body:not(.logged-in) .rm-contact__company,
body:not(.logged-in) .rm-faq__item:has(mark.rm-todo),
body:not(.logged-in) .rm-trust__item:has(mark.rm-todo) { display: none !important; }
@media (min-width: 1101px) {
	body:not(.logged-in) .rm-trust__grid:has(.rm-trust__item mark.rm-todo) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
body:not(.logged-in) .rm-trust__item:has(mark.rm-todo) + .rm-trust__item { border-left: 0; }
@media (min-width: 521px) {
	body:not(.logged-in) .rm-contact__cards:has(.rm-contact__card mark.rm-todo) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Sekcje na pełną szerokość ---------- */

/* Uwaga: Blocksy daje klasę .entry-content też tekstowi w nagłówku, więc zawężamy do <main> */
.home .site-main,
.home .site-main .entry-content,
.home article.page { background: var(--rm-bg) !important; }

.home .ct-container-full,
.home .ct-container-full > article,
.home .site-main .entry-content { padding: 0 !important; margin: 0 !important; max-width: none !important; }

.home .site-main .entry-content > * { margin-block: 0 !important; }

.rm-section {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding-block: clamp(48px, 7vw, 88px);
	box-sizing: border-box;
}

.rm-section + .rm-section:not(.rm-trust) { padding-top: 0; }
.rm-section.rm-trust + .rm-section { padding-top: clamp(56px, 7vw, 96px); }

.rm-wrap {
	max-width: var(--rm-wrap);
	margin-inline: auto !important;
	padding-inline: var(--rm-gutter);
	box-sizing: border-box;
}

.rm-section .rm-wrap > *,
.rm-section [class*="rm-"] > * { margin-block: 0; }

/* ---------- Typografia sekcji ---------- */

.rm-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--rm-accent-text);
}

.rm-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px !important;
}

.rm-title {
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--rm-text);
}

.rm-more a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	font-weight: 600;
	color: var(--rm-accent-text);
	text-decoration: none;
	white-space: nowrap;
}
.rm-more a::after { content: '→'; transition: transform .2s; }
.rm-more a:hover::after { transform: translateX(3px); }

/* ---------- Przyciski ---------- */

.rm-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

.rm-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.rm-btn--primary .wp-block-button__link { background: var(--rm-accent); color: #fff; border: 1px solid var(--rm-accent); }
.rm-btn--primary .wp-block-button__link:hover { background: var(--rm-accent-hover); border-color: var(--rm-accent-hover); }
.rm-btn--ghost .wp-block-button__link { background: transparent; color: var(--rm-text); border: 1px solid #3a3a3a; }
.rm-btn--ghost .wp-block-button__link:hover { border-color: var(--rm-text); }

/* ---------- Hero ---------- */

.rm-hero {
	padding-block: clamp(40px, 6vw, 96px) clamp(48px, 6vw, 96px);
	background:
		radial-gradient(60% 80% at 85% 40%, rgba(229, 62, 45, .14), transparent 70%),
		var(--rm-bg);
}

.rm-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
}

.rm-hero__text > * + * { margin-top: 22px !important; }

.rm-hero__title {
	font-size: clamp(44px, 6.4vw, 88px);
	font-weight: 900;
	line-height: .98;
	letter-spacing: -0.035em;
	color: #fff;
}

.rm-hero__lead {
	max-width: 34em;
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.65;
	color: var(--rm-muted);
}

.rm-hero .rm-buttons { margin-top: 32px !important; }

.rm-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 48px;
	margin-top: 44px !important;
	padding-top: 28px;
	border-top: 1px solid var(--rm-line);
}

.rm-stat { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--rm-faint); }
.rm-stat strong {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #fff;
}
.rm-stat .rm-icon--star { color: #fbbc04; width: .8em; height: .8em; }

/* Zdjęcie produktu na jasnym „studyjnym” tle; białe tło zdjęcia znika dzięki multiply */
.rm-hero__media { margin: 0 !important; }
.rm-hero__media a {
	display: block;
	border-radius: 24px;
	background: radial-gradient(75% 75% at 50% 45%, #ffffff 0%, #ececec 60%, #d9d9d9 100%);
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .04);
	overflow: hidden;
}
.rm-hero__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 4;
	object-fit: contain;
	padding: 6% 8%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	transition: transform .5s ease;
}
.rm-hero__media a:hover img { transform: scale(1.03); }

/* Pokaz slajdów w hero ([rm_slider]) */
.rm-slider { position: relative; }
.rm-slider__track {
	position: relative;
	aspect-ratio: 5 / 4;
	border-radius: 24px;
	background: radial-gradient(75% 75% at 50% 45%, #ffffff 0%, #ececec 60%, #d9d9d9 100%);
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .04);
	overflow: hidden;
}
/* Tło na każdym slajdzie: przy przenikaniu (opacity) slajd jest osobną warstwą
   i multiply na zdjęciu musi mieć tło w tej samej warstwie, inaczej widać biały prostokąt */
.rm-slide {
	position: absolute;
	inset: 0;
	display: block;
	background: radial-gradient(75% 75% at 50% 45%, #ffffff 0%, #ececec 60%, #d9d9d9 100%);
	isolation: isolate;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s ease, visibility 0s linear .9s;
}
.rm-slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease, visibility 0s; }
.rm-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6% 8% 16%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	transform: scale(.97);
	transition: transform 5s ease-out;
}
.rm-slide.is-active img { transform: scale(1.02); }

.rm-slide__caption {
	position: absolute;
	left: 20px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 18px;
	border-radius: 12px;
	background: rgba(12, 12, 12, .88);
	backdrop-filter: blur(6px);
	color: #fff;
	transform: translateY(8px);
	opacity: 0;
	transition: opacity .5s ease .3s, transform .5s ease .3s;
}
.rm-slide.is-active .rm-slide__caption { opacity: 1; transform: none; }
.rm-slide__name { font-size: 16px; font-weight: 700; }
.rm-slide__price { font-size: 15px; font-weight: 800; color: var(--rm-accent-text); }
.rm-slide__price del { color: #8a8a8a; font-weight: 400; margin-right: 6px; }
.rm-slide__price ins { text-decoration: none; }
.rm-slide:hover .rm-slide__name { color: var(--rm-accent-text); }

.rm-slider__dots {
	position: absolute;
	right: 20px;
	bottom: 30px;
	display: flex;
	gap: 8px;
}
.rm-slider__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, .25);
	cursor: pointer;
	transition: width .3s, background-color .3s;
}
.rm-slider__dot:hover { background: rgba(0, 0, 0, .45); }
.rm-slider__dot.is-active { width: 28px; background: var(--rm-accent); }
.rm-slider__dot:focus-visible { outline: 2px solid var(--rm-accent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	.rm-slide, .rm-slide img, .rm-slide__caption { transition: none !important; }
}

/* ---------- Pasek zalet ---------- */

.rm-trust {
	padding-block: 0 !important;
	background: var(--rm-surface);
	border-block: 1px solid var(--rm-line);
}

.rm-trust__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.rm-trust__item {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	align-items: center;
	padding: 26px 20px;
	font-size: 14px;
}
.rm-trust__item + .rm-trust__item { border-left: 1px solid var(--rm-line); }

.rm-trust__item .rm-icon {
	grid-row: 1 / 3;
	width: 44px;
	height: 44px;
	padding: 11px;
	box-sizing: border-box;
	border-radius: 12px;
	background: rgba(229, 62, 45, .12);
	color: var(--rm-accent-text);
}
.rm-trust__item strong { font-size: 15px; font-weight: 700; color: var(--rm-text); line-height: 1.3; }
.rm-trust__item span { color: var(--rm-faint); line-height: 1.4; }

/* ---------- Kategorie ---------- */

.rm-cats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.rm-cat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 22px 20px;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
	text-decoration: none;
	transition: border-color .2s, transform .2s, background-color .2s;
}
.rm-cat:hover { border-color: var(--rm-accent); background: var(--rm-surface-2); transform: translateY(-3px); }

.rm-cat__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 14px;
	border-radius: 14px;
	background: rgba(229, 62, 45, .12);
	color: var(--rm-accent-text);
	font-size: 26px;
	transition: background-color .2s, color .2s;
}
.rm-cat:hover .rm-cat__icon { background: var(--rm-accent); color: #fff; }

.rm-cat__name { font-size: 16px; font-weight: 700; color: var(--rm-text); line-height: 1.25; }
.rm-cat__count { font-size: 13px; color: var(--rm-faint); }
.rm-cat--empty .rm-cat__count { color: #c9a14a; }

/* ---------- Dobierz pojazd do wieku ---------- */

.rm-head__lead { max-width: 40em; margin-top: 10px !important; font-size: 16px; line-height: 1.6; color: var(--rm-muted); }

.rm-ages {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.rm-age {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px;
	border-radius: 18px;
	background:
		radial-gradient(90% 90% at 100% 0%, rgba(229, 62, 45, .14), transparent 60%),
		var(--rm-surface);
	border: 1px solid var(--rm-line);
	text-decoration: none;
	overflow: hidden;
	transition: border-color .2s, transform .2s;
}
.rm-age:hover { border-color: var(--rm-accent); transform: translateY(-3px); }

.rm-age__icon {
	position: absolute;
	right: -10px;
	top: -6px;
	color: rgba(229, 62, 45, .14);
	font-size: 150px;
	line-height: 0;
	transition: color .3s, transform .4s;
}
.rm-age__icon .rm-icon { stroke-width: 1.25; }
.rm-age:hover .rm-age__icon { color: rgba(229, 62, 45, .26); transform: rotate(-6deg) scale(1.05); }

.rm-age__age {
	position: relative;
	font-size: clamp(36px, 3.6vw, 48px);
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1;
	color: #fff;
}
.rm-age__name { position: relative; margin-top: 14px; font-size: 18px; font-weight: 700; color: var(--rm-text); }
.rm-age__spec { position: relative; margin-top: 4px; font-size: 14px; color: var(--rm-faint); }
.rm-age__cta {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
	font-size: 15px;
	font-weight: 700;
	color: var(--rm-accent-text);
}
.rm-age__cta .rm-icon { transition: transform .2s; }
.rm-age:hover .rm-age__cta .rm-icon { transform: translateX(4px); }

.rm-note { margin-top: 18px !important; font-size: 14px; color: var(--rm-faint); }
.rm-note a { color: var(--rm-text); }

/* ---------- FAQ (bloki „Szczegóły” WordPressa) ---------- */

.rm-faq {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}
.rm-faq__intro > * + * { margin-top: 16px !important; }
.rm-faq__intro .rm-buttons { margin-top: 24px !important; }
.rm-faq__list { display: grid; gap: 10px; }

.rm-faq__item {
	margin: 0 !important;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
	transition: border-color .2s;
}
.rm-faq__item[open] { border-color: #3a3a3a; }
.rm-faq__item summary {
	position: relative;
	padding: 20px 56px 20px 22px;
	font-size: 17px;
	font-weight: 700;
	color: var(--rm-text);
	cursor: pointer;
	list-style: none;
}
.rm-faq__item summary::-webkit-details-marker { display: none; }
.rm-faq__item summary::after {
	content: '+';
	position: absolute;
	right: 20px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-top: -14px;
	border-radius: 8px;
	background: rgba(229, 62, 45, .12);
	color: var(--rm-accent-text);
	font: 500 20px/1 Arial, sans-serif;
	transition: background-color .2s, color .2s;
}
.rm-faq__item[open] summary::after { content: '−'; background: var(--rm-accent); color: #fff; }
.rm-faq__item summary:hover { color: #fff; }
.rm-faq__item summary:focus-visible { outline: 2px solid var(--rm-accent); outline-offset: -2px; border-radius: var(--rm-radius); }
.rm-faq__item > :not(summary) { margin: 0 !important; padding: 0 22px 20px; font-size: 16px; line-height: 1.7; color: var(--rm-muted); }
.rm-faq__item a { color: var(--rm-accent-text); }

/* ---------- Pasek kontaktu na telefonie ---------- */

.rm-mbar { display: none; }

@media (max-width: 860px) {
	.rm-mbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		padding-bottom: env(safe-area-inset-bottom);
		background: rgba(14, 14, 14, .96);
		backdrop-filter: blur(10px);
		border-top: 1px solid var(--rm-line);
	}
	.rm-mbar__item {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		padding: 10px 0 9px;
		font-size: 12px;
		font-weight: 600;
		color: var(--rm-text);
		text-decoration: none;
	}
	.rm-mbar__item .rm-icon { width: 22px; height: 22px; }
	.rm-mbar__item:first-child { color: #fff; background: var(--rm-accent); }
	.rm-mbar__item + .rm-mbar__item { border-left: 1px solid var(--rm-line); }
	.rm-mbar__count {
		position: absolute;
		top: 5px;
		left: calc(50% + 6px);
		min-width: 18px;
		height: 18px;
		padding: 0 5px;
		border-radius: 9px;
		background: var(--rm-accent);
		color: #fff;
		font-size: 11px;
		line-height: 18px;
		text-align: center;
	}
	.rm-mbar__count[hidden] { display: none; }

	body:has(.rm-mbar) { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
	body:has(.rm-mbar) .ct-back-to-top { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ---------- Karty produktów (strona główna, sklep, kategorie, powiązane) ---------- */

.woocommerce ul.products,
.wc-block-grid__products { gap: 18px !important; }

.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	padding: 0 0 18px !important;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
	overflow: hidden;
	text-align: left;
	transition: border-color .2s, transform .2s;
}
.woocommerce ul.products li.product:hover { border-color: #3a3a3a; transform: translateY(-3px); }

.woocommerce ul.products li.product > *:not(figure) { padding-inline: 18px; }

.woocommerce ul.products li.product figure { margin: 0 0 16px !important; }
.woocommerce ul.products li.product .ct-media-container {
	display: block;
	border-radius: 0 !important;
	background: radial-gradient(80% 80% at 50% 45%, #fff 0%, var(--rm-photo) 70%, #e2e2e2 100%);
}
.woocommerce ul.products li.product .ct-media-container img {
	aspect-ratio: 4 / 3 !important;
	width: 100%;
	height: auto;
	object-fit: contain !important;
	padding: 8%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
	transition: transform .4s ease;
}
.woocommerce ul.products li.product:hover .ct-media-container img { transform: scale(1.04); }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 8px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: var(--rm-text) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--rm-accent-text) !important; }

.woocommerce ul.products li.product .entry-meta { order: -1; margin: 0 0 6px !important; }
.woocommerce ul.products li.product .entry-meta a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rm-faint) !important;
}
.woocommerce ul.products li.product figure { order: -2; }

.woocommerce ul.products li.product .price {
	margin-bottom: 16px !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--rm-text) !important;
}
.woocommerce ul.products li.product .price del { font-size: 15px; font-weight: 400; color: var(--rm-faint) !important; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--rm-accent-text) !important; }

/* Przycisk zawsze widoczny (Blocksy chowa go do czasu najechania) */
.woocommerce ul.products li.product .ct-woo-card-actions {
	margin-top: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	position: static !important;
}
.woocommerce ul.products li.product .button {
	width: 100%;
	min-height: 46px;
	justify-content: center;
	border-radius: 10px !important;
	background: var(--rm-accent) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	transition: background-color .2s;
}
.woocommerce ul.products li.product .button:hover { background: var(--rm-accent-hover) !important; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin-top: 8px; font-size: 14px; color: var(--rm-accent-text); text-align: center; }

/* Odznaki YITH */
.woocommerce ul.products li.product .yith-wcbm-badge { margin: 12px !important; border-radius: 6px; overflow: hidden; }

/* ---------- Odwiedź nas ---------- */

.rm-visit {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	padding: clamp(28px, 5vw, 64px);
	border-radius: 24px;
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(229, 62, 45, .22), transparent 60%),
		linear-gradient(135deg, #1a0d0b, #120a09);
	border: 1px solid #3a1a14;
}

.rm-visit__text > * + * { margin-top: 18px !important; }

.rm-visit__title {
	font-size: clamp(30px, 3.6vw, 48px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #fff;
}

.rm-visit__lead { max-width: 36em; font-size: 17px; line-height: 1.65; color: var(--rm-muted); }

.rm-visit__line { display: flex; align-items: center; gap: 12px; margin-top: 10px !important; font-size: 16px; color: var(--rm-text); }
.rm-visit__line .rm-icon { color: var(--rm-accent-text); width: 20px; height: 20px; }
.rm-visit__line a { color: inherit; text-decoration: none; }
.rm-visit__line a:hover { color: var(--rm-accent-text); }
.rm-visit .rm-buttons { margin-top: 28px !important; }

.rm-rating {
	padding: 36px 32px;
	border-radius: 20px;
	background: rgba(0, 0, 0, .35);
	border: 1px solid rgba(255, 255, 255, .06);
	text-align: center;
}
.rm-rating__score { font-size: 72px; font-weight: 900; line-height: 1; letter-spacing: -0.04em; color: #fff; }
.rm-rating__stars { display: flex; justify-content: center; gap: 4px; margin-top: 12px !important; color: #fbbc04; font-size: 24px; }
.rm-rating__label { margin-top: 10px !important; font-size: 15px; color: var(--rm-muted); }
.rm-rating .rm-more { margin-top: 18px !important; }

/* ---------- Strona produktu ---------- */

.single-product .woocommerce-product-gallery .ct-media-container,
.single-product .woocommerce-product-gallery .flexy-item > a,
.single-product .flexy-pills [data-flexy] li {
	border-radius: var(--rm-radius);
	background: radial-gradient(75% 75% at 50% 45%, #fff 0%, var(--rm-photo) 65%, #dedede 100%);
	overflow: hidden;
}
.single-product .woocommerce-product-gallery img:not(.zoomImg) {
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	padding: 6%;
	box-sizing: border-box;
	mix-blend-mode: multiply;
}

/* Przybliżenie po najechaniu (zoom.js): zdjęcie powiększa się w miejscu, punkt powiększenia za kursorem */
.single-product .woocommerce-product-gallery figure.ct-media-container { overflow: hidden; cursor: zoom-in; }
.single-product .woocommerce-product-gallery figure.ct-media-container img:not(.zoomImg) {
	transition: transform .3s ease;
	will-change: transform;
}
.single-product .woocommerce-product-gallery figure.rm-zooming img:not(.zoomImg) { transform: scale(2.2); }
/* Na wypadek, gdyby powiększenie WooCommerce zostało włączone z powrotem w Customizerze */
.single-product .woocommerce-product-gallery img.zoomImg { display: none !important; }

.single-product .product_title { font-size: clamp(30px, 3vw, 42px) !important; letter-spacing: -0.02em !important; line-height: 1.1 !important; }
.single-product div.product p.price { font-size: 32px !important; color: var(--rm-text) !important; }
.single-product div.product p.price ins { color: var(--rm-accent-text) !important; text-decoration: none; }

.single-product .woocommerce-product-details__short-description {
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: #bdbdbd !important;
}
.single-product .woocommerce-product-details__short-description strong { color: var(--rm-text); }

/* Ilość i przycisk: [-] [1] [+] jako trzy osobne pola */
.single-product .ct-cart-actions { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.single-product .ct-cart-actions .quantity {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	height: 56px !important;
	background: transparent !important;
	border: 0 !important;
}
.single-product .ct-cart-actions .quantity > * { flex: none !important; }
.single-product .ct-cart-actions .quantity input.qty,
.single-product .ct-cart-actions .quantity .ct-decrease,
.single-product .ct-cart-actions .quantity .ct-increase {
	position: static !important;
	height: 56px !important;
	margin: 0 !important;
	border: 1px solid #333 !important;
	border-radius: 10px !important;
	background: var(--rm-surface) !important;
	color: var(--rm-text) !important;
}
.single-product .ct-cart-actions .quantity input.qty { order: 2; width: 64px !important; padding: 0 !important; font-size: 17px !important; font-weight: 700; text-align: center; }
.single-product .ct-cart-actions .quantity .ct-decrease { order: 1; }
.single-product .ct-cart-actions .quantity .ct-increase { order: 3; }
.single-product .ct-cart-actions .quantity .ct-decrease,
.single-product .ct-cart-actions .quantity .ct-increase {
	display: grid !important;
	place-items: center;
	width: 48px !important;
	font-size: 20px;
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.single-product .ct-cart-actions .quantity .ct-decrease:hover,
.single-product .ct-cart-actions .quantity .ct-increase:hover { border-color: var(--rm-accent) !important; color: var(--rm-accent-text) !important; }
.single-product .single_add_to_cart_button {
	flex: 1 0 220px;
	max-width: none !important;
	white-space: nowrap;
	min-height: 56px !important;
	font-size: 17px !important;
	border-radius: 10px !important;
}

/* Najważniejsze cechy pod ceną */
.rm-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px !important; padding: 0 !important; list-style: none; }
.rm-chips li {
	margin: 0 !important;
	padding: 6px 12px;
	border: 1px solid var(--rm-line);
	border-radius: 999px;
	background: var(--rm-surface);
	font-size: 14px;
	font-weight: 600;
	color: var(--rm-text);
}

/* Tabela danych technicznych */
.single-product table.woocommerce-product-attributes {
	width: 100%;
	max-width: 760px;
	border: 1px solid var(--rm-line) !important;
	border-radius: var(--rm-radius);
	border-collapse: separate !important;
	overflow: hidden;
}
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--rm-line) !important;
	background: transparent !important;
	font-size: 15px;
	text-align: left;
	vertical-align: top;
}
.single-product .woocommerce-product-attributes tr:last-child th,
.single-product .woocommerce-product-attributes tr:last-child td { border-bottom: 0 !important; }
.single-product .woocommerce-product-attributes th { width: 40%; color: var(--rm-faint) !important; font-weight: 600; }
.single-product .woocommerce-product-attributes td { color: var(--rm-text) !important; font-weight: 600; }
.single-product .woocommerce-product-attributes td p { margin: 0; }
.single-product .woocommerce-Tabs-panel--additional_information > h2 { display: none; }

/* Ramka zaufania pod przyciskiem */
.rm-pdp-trust {
	display: grid;
	gap: 0;
	margin: 24px 0 8px !important;
	padding: 0 !important;
	list-style: none;
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
}
.rm-pdp-trust li { display: flex; gap: 14px; align-items: center; padding: 14px 18px; margin: 0 !important; }
.rm-pdp-trust li + li { border-top: 1px solid var(--rm-line); }
.rm-pdp-trust .rm-icon { width: 22px; height: 22px; color: var(--rm-accent-text); }
.rm-pdp-trust span { display: flex; flex-direction: column; font-size: 14px; color: var(--rm-muted); line-height: 1.45; }
.rm-pdp-trust strong { font-size: 15px; color: var(--rm-text); }
.rm-pdp-trust a { color: var(--rm-accent-text); text-decoration: none; }

/* Zakładki i opinie */
.single-product .woocommerce-tabs .panel {
	background: transparent !important;
	border: 0 !important;
	padding: 32px 0 !important;
	color: #bdbdbd !important;
}
.single-product .woocommerce-tabs { border-top: 1px solid var(--rm-line); }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { font-size: 14px !important; letter-spacing: .06em; }
.single-product #reviews h2,
.single-product #reply-title { font-size: 20px !important; color: var(--rm-text) !important; }
.single-product #review_form_wrapper {
	padding: 28px;
	border: 1px solid var(--rm-line);
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
}
.single-product .stars a { color: #fbbc04 !important; }
.single-product .related > h2,
.single-product .upsells > h2 { font-size: clamp(24px, 2.4vw, 32px) !important; }

/* ---------- Koszyk i zamówienie ---------- */

.woocommerce-cart .cart_totals,
.woocommerce-checkout .ct-order-review {
	border: 1px solid var(--rm-line) !important;
	border-radius: 18px;
	background: var(--rm-surface);
}
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--rm-text) !important;
}

.woocommerce table.shop_table thead th { color: var(--rm-faint) !important; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce table.shop_table { border-color: var(--rm-line) !important; }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: var(--rm-line) !important; }
.woocommerce-cart table.cart .product-name a { font-size: 17px; font-weight: 700; color: var(--rm-text); text-decoration: none; }
.woocommerce-cart table.cart .product-name a:hover { color: var(--rm-accent-text); }
.woocommerce-cart table.cart .product-thumbnail img,
.woocommerce-checkout .product-name img {
	border-radius: 10px;
	background: var(--rm-photo);
	mix-blend-mode: normal;
}
.woocommerce-cart table.cart .quantity { border-color: #333 !important; border-radius: 10px; }
.woocommerce .order-total .amount { font-size: 22px; color: var(--rm-text); }

.woocommerce-cart .checkout-button,
.woocommerce-checkout #place_order {
	min-height: 56px !important;
	font-size: 17px !important;
	border-radius: 10px !important;
}

/* Formularze */
.woocommerce form .form-row label { font-size: 14px; font-weight: 600; color: #cfcfcf; }
.woocommerce form .form-row .required { color: var(--rm-accent-text); text-decoration: none; }
.select2-container--default .select2-selection--single { border-radius: 10px !important; background: var(--rm-surface) !important; }
.select2-dropdown { background: var(--rm-surface-2) !important; border-color: #333 !important; color: var(--rm-text); }
.select2-results__option--highlighted { background: var(--rm-accent) !important; }

#payment .payment_methods { border-color: var(--rm-line) !important; }
#payment .payment_box { background: var(--rm-surface-2) !important; color: var(--rm-muted); border-radius: 10px; }

/* Komunikaty WooCommerce */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-checkout #payment .woocommerce-info {
	background: var(--rm-surface-2) !important;
	color: var(--rm-text) !important;
	border: 1px solid var(--rm-line) !important;
	border-left: 3px solid var(--rm-accent) !important;
	border-radius: 10px;
}
.woocommerce-error { border-left-color: #ff6b5b !important; }

/* Strona „Dziękujemy za zamówienie” */
.woocommerce-order .woocommerce-thankyou-order-received {
	padding: 22px 24px !important;
	border: 1px solid #3a1a14 !important;
	border-radius: 16px;
	background: linear-gradient(135deg, #1a0d0b, #120a09) !important;
	color: #fff !important;
	font: 800 clamp(20px, 2.2vw, 26px)/1.3 var(--rm-font) !important;
}
.woocommerce-order .woocommerce-thankyou-order-received::before,
.woocommerce-order .woocommerce-thankyou-order-received svg { display: none !important; }
.woocommerce-order ul.order_details {
	border: 1px solid var(--rm-line) !important;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
}
.woocommerce-order ul.order_details li { border-color: var(--rm-line) !important; color: var(--rm-muted); }
.woocommerce-order ul.order_details li strong { color: var(--rm-text); }
.woocommerce-order .woocommerce-customer-details address {
	border: 1px solid var(--rm-line) !important;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
	color: var(--rm-text);
}
.woocommerce-message { border-left-color: #3fb27f !important; }

/* Moje konto: wąski, wyśrodkowany formularz z tytułem */
.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-account:not(.logged-in) article > .hero-section { max-width: 460px; margin-inline: auto !important; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword {
	padding: 28px !important;
	border: 1px solid var(--rm-line) !important;
	border-radius: 18px;
	background: var(--rm-surface);
}
.woocommerce-account .woocommerce h2 { font-size: 22px; font-weight: 800; color: var(--rm-text); }
.woocommerce-account .woocommerce-MyAccount-navigation a { color: var(--rm-muted); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: var(--rm-accent-text); }

/* Licznik koszyka w nagłówku: „7 499 zł”, nie „7 499 ZŁ” */
.ct-header-cart .ct-label { text-transform: none !important; }

/* ---------- Strony z tekstem: regulamin, polityka, dostawa, zwroty ---------- */

.rm-legal { max-width: 820px; margin-inline: auto; font-size: 16px; line-height: 1.75; color: #c4c4c4; }
.rm-legal > * + * { margin-top: 14px; }
.rm-legal h2 {
	margin-top: 48px !important;
	padding-top: 24px;
	border-top: 1px solid var(--rm-line);
	font-size: 22px;
	font-weight: 800;
	color: var(--rm-text);
}
.rm-legal h2:first-of-type { border-top: 0; padding-top: 0; margin-top: 24px !important; }
.rm-legal h3 { margin-top: 28px !important; font-size: 18px; font-weight: 700; color: var(--rm-text); }
.rm-legal strong { color: var(--rm-text); }
.rm-legal a { color: var(--rm-accent-text); }
.rm-legal ol, .rm-legal ul { padding-left: 1.4em; }
.rm-legal li + li { margin-top: 6px; }
.rm-legal .rm-legal__meta { font-size: 14px; color: var(--rm-faint); }
.rm-legal .rm-legal__box {
	padding: 20px 24px;
	border-radius: var(--rm-radius);
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
}
.rm-legal table { width: 100%; border-collapse: collapse; font-size: 15px; }
.rm-legal th, .rm-legal td { padding: 12px 14px; border-bottom: 1px solid var(--rm-line); text-align: left; vertical-align: top; }
.rm-legal th { color: var(--rm-faint); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rm-legal figure.wp-block-table { margin: 0; overflow-x: auto; }

/* Tytuł nad wąską kolumną tekstu: wyrównany do niej */
article:has(.rm-legal) > .hero-section { max-width: 820px; margin-inline: auto !important; }
article:has(.rm-legal) > .hero-section .page-title { margin-bottom: 0; }

/* Opis kategorii pod tytułem: wygodna szerokość akapitu */
.tax-product_cat .page-description { max-width: 72ch; font-size: 16px; line-height: 1.7; color: var(--rm-muted); }

/* Nagłówek zwykłych stron (Blocksy) */
.page:not(.home) .page-title { font-size: clamp(32px, 4vw, 52px) !important; font-weight: 900 !important; letter-spacing: -0.03em; color: #fff; }

/* ---------- Kontakt ---------- */

.rm-contact { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 32px); align-items: start; }
.rm-contact__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rm-contact__card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
	border-radius: 18px;
	background: var(--rm-surface);
	border: 1px solid var(--rm-line);
}
.rm-contact__card .rm-icon {
	width: 44px;
	height: 44px;
	padding: 11px;
	margin-bottom: 10px;
	box-sizing: border-box;
	border-radius: 12px;
	background: rgba(229, 62, 45, .12);
	color: var(--rm-accent-text);
}
.rm-contact__label { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--rm-faint); }
.rm-contact__value { font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--rm-text); }
.rm-contact__value a { color: inherit; text-decoration: none; }
.rm-contact__value a:hover { color: var(--rm-accent-text); }
.rm-contact__hint { font-size: 14px; color: var(--rm-faint); }
.rm-contact__side {
	padding: 28px;
	border-radius: 20px;
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(229, 62, 45, .22), transparent 60%),
		linear-gradient(135deg, #1a0d0b, #120a09);
	border: 1px solid #3a1a14;
}
.rm-contact__side h2 { font-size: 26px; font-weight: 900; letter-spacing: -0.02em; color: #fff; margin: 0 0 10px; }
.rm-contact__side p { color: var(--rm-muted); line-height: 1.65; margin: 0 0 22px; }
.rm-contact__side .rm-buttons { margin-bottom: 26px; }
.rm-contact__company { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 14px; line-height: 1.7; color: var(--rm-muted); }
.rm-contact__company strong { color: var(--rm-text); }

@media (max-width: 860px) {
	.rm-contact { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
	.rm-contact__cards { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Górny pasek ---------- */

.rm-topbar { display: flex; flex-wrap: wrap; gap: 6px 28px; font-size: 13px; color: var(--rm-muted); }
.rm-topbar span + span { position: relative; }
.rm-topbar span + span::before { content: ''; position: absolute; left: -14px; top: 50%; width: 1px; height: 12px; margin-top: -6px; background: #333; }
.rm-topbar a { color: var(--rm-text); text-decoration: none; }
.rm-topbar a:hover { color: var(--rm-accent-text); }

/* ---------- Stopka ---------- */

.ct-footer { background: #080808 !important; border-top: 1px solid var(--rm-line); }
.ct-footer [data-row="middle"] > .ct-container { display: block !important; max-width: var(--rm-wrap); padding-inline: var(--rm-gutter); }
.ct-footer [data-row="middle"] { padding-block: 0 !important; }
.ct-footer [data-row="middle"] > .ct-container { padding-block: 0 !important; }
.ct-footer .rm-footer { margin-bottom: 0 !important; }

.rm-footer { padding-top: clamp(40px, 5vw, 64px); font-size: 15px; color: var(--rm-muted); }
.rm-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)); gap: 40px; }
.rm-footer p { margin: 0; }
.rm-footer__brand { margin-bottom: 14px !important; font-size: 24px; font-weight: 900; letter-spacing: -0.02em; color: #fff; }
.rm-footer__brand span { color: var(--rm-accent-text); }
.rm-footer__about p:not(.rm-footer__brand) { max-width: 30em; line-height: 1.65; }
.rm-footer__rating { display: flex; align-items: center; flex-wrap: wrap; gap: 3px; margin-top: 18px !important; color: #fbbc04; }
.rm-footer__rating span { margin-left: 8px; font-size: 14px; color: var(--rm-muted); }
.rm-social { display: flex; gap: 10px; margin-top: 22px !important; }
.rm-social a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--rm-surface-2);
	border: 1px solid var(--rm-line);
	color: var(--rm-text) !important;
	transition: background-color .2s, border-color .2s, transform .2s;
}
.rm-social a:hover { background: var(--rm-accent); border-color: var(--rm-accent); transform: translateY(-2px); }
.rm-social .rm-icon { width: 20px; height: 20px; }
.rm-footer__title { margin-bottom: 16px !important; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.rm-footer ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.rm-footer a { color: var(--rm-muted); text-decoration: none; transition: color .2s; }
.rm-footer a:hover { color: var(--rm-accent-text); }
.rm-footer__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.rm-footer__contact .rm-icon { margin-top: 3px; color: var(--rm-accent-text); }
.rm-footer__bottom { margin-top: 48px; padding-block: 22px; border-top: 1px solid var(--rm-line); font-size: 13px; color: var(--rm-faint); }

/* ---------- Responsywność ---------- */

@media (max-width: 1100px) {
	.rm-trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rm-trust__item:nth-child(4) { border-left: 0; }
	.rm-trust__item:nth-child(n+4) { border-top: 1px solid var(--rm-line); }
	.rm-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
	.rm-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.rm-hero__grid,
	.rm-visit,
	.rm-faq { grid-template-columns: minmax(0, 1fr); }
	.rm-ages { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.rm-age { padding: 22px; }
	.rm-age__icon { font-size: 110px; }
	.rm-age__cta { margin-top: 16px; }
	.rm-hero__media,
	.rm-hero .rm-slider { order: -1; }
	.rm-hero .rm-slider__track { aspect-ratio: 4 / 3; }
	.rm-slide__caption { left: 12px; bottom: 12px; padding: 8px 12px; }
	.rm-slide__name { font-size: 14px; }
	.rm-slider__dots { right: 14px; bottom: 22px; }
	.rm-hero__media img { aspect-ratio: 16 / 10; }
}

@media (max-width: 640px) {
	.rm-trust__grid { grid-template-columns: minmax(0, 1fr); }
	.rm-trust__item { padding: 16px 4px; }
	.rm-trust__item + .rm-trust__item { border-left: 0; border-top: 1px solid var(--rm-line); }
	.rm-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.rm-cat { padding: 16px; }
	.rm-cat__icon { width: 44px; height: 44px; font-size: 22px; margin-bottom: 8px; }
	.rm-stats { gap: 16px 28px; }
	.rm-stat strong { font-size: 24px; }
	.rm-head { flex-wrap: wrap; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	.woocommerce ul.products li.product > *:not(figure) { padding-inline: 12px; }
	.woocommerce ul.products li.product .price { font-size: 18px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; }
	.woocommerce ul.products li.product .button { min-height: 42px; font-size: 14px !important; }
	.woocommerce ul.products li.product .yith-wcbm-badge { zoom: .75; margin: 8px !important; }
	.rm-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.rm-topbar { justify-content: center; text-align: center; }
	.single-product .ct-cart-actions { flex-wrap: wrap !important; }
	.single-product .single_add_to_cart_button { flex: 1 0 100% !important; width: 100% !important; margin: 0 !important; }
}

.woocommerce-account:not(.logged-in) .woocommerce { margin-bottom: clamp(48px, 6vw, 80px) !important; }
