/*
Theme Name: GMUSHOP
Theme URI: https://gmushop.cz
Author: GMUSHOP
Description: WooCommerce téma pro GMUSHOP — 3D tisk, resinová tvorba a doplňky pro DnD, TCG a herní nadšence. Tmavě fialová + pink, Cinzel/Inter.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gmushop
Tags: e-commerce, woocommerce, custom-colors, custom-menu, translation-ready
WC requires at least: 7.0
WC tested up to: 9.9
*/

/* =========================================================
   1. Tokeny
   ========================================================= */
:root {
	--gmu-pink: #ff4696;
	--gmu-pink-dark: #e0357f;
	--gmu-pink-soft: #ff9dc4;
	--gmu-dark: #1e1033;
	--gmu-dark-2: #150a26;
	--gmu-dark-3: #2b1750;
	--gmu-bg: #ffffff;
	--gmu-bg-alt: #faf8fb;
	--gmu-ink: #1c1626;
	--gmu-ink-70: rgba(28, 22, 38, 0.7);
	--gmu-ink-65: rgba(28, 22, 38, 0.65);
	--gmu-ink-55: rgba(28, 22, 38, 0.55);
	--gmu-ink-45: rgba(28, 22, 38, 0.45);
	--gmu-line: rgba(28, 22, 38, 0.09);
	--gmu-line-strong: rgba(28, 22, 38, 0.15);
	--gmu-light: #f4f1f8;
	--gmu-light-75: rgba(244, 241, 248, 0.75);
	--gmu-light-62: rgba(244, 241, 248, 0.62);
	--gmu-light-50: rgba(244, 241, 248, 0.5);
	--gmu-line-dark: rgba(255, 255, 255, 0.08);
	--gmu-ok: #2f8f56;
	--gmu-ok-bg: rgba(76, 175, 110, 0.12);
	--gmu-radius-card: 14px;
	--gmu-radius-sm: 10px;
	--gmu-radius-pill: 20px;
	--gmu-shadow-card: 0 20px 40px rgba(30, 16, 51, 0.14);
	--gmu-wrap: 1360px;
	--gmu-font-display: 'Cinzel', Georgia, serif;
	--gmu-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* =========================================================
   2. Reset / základ
   ========================================================= */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--gmu-bg);
	color: var(--gmu-ink);
	font-family: var(--gmu-font-body);
	font-size: 14px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--gmu-pink);
	text-decoration: none;
}

a:hover {
	color: var(--gmu-pink-dark);
}

::selection {
	background: var(--gmu-pink);
	color: #fff;
}

h1,
h2,
h3 {
	font-family: var(--gmu-font-display);
	font-weight: 600;
	color: var(--gmu-ink);
	line-height: 1.25;
}

button {
	font-family: inherit;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gmu-skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 999;
	background: #fff;
	padding: 10px 16px;
	border-radius: 8px;
	font-weight: 700;
}

.gmu-wrap {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding-left: 32px;
	padding-right: 32px;
}

.gmu-wrap--narrow {
	max-width: 1160px;
}

/* =========================================================
   3. Animace
   ========================================================= */
@keyframes gmuFloatGlow {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(-14px, 18px); }
}

@keyframes gmuPopIn {
	0% { transform: scale(.6); opacity: 0; }
	60% { transform: scale(1.12); opacity: 1; }
	100% { transform: scale(1); }
}

@keyframes gmuMarquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

@keyframes gmuSparkle {
	0%, 100% { opacity: 0; transform: translateY(6px) scale(.6); }
	50% { opacity: 1; transform: translateY(-6px) scale(1); }
}

@keyframes gmuHeroRise {
	0% { opacity: 0; transform: translateY(20px); }
	100% { opacity: 1; transform: translateY(0); }
}

@keyframes gmuPulseGlow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255, 70, 150, 0.35); }
	50% { box-shadow: 0 0 0 8px rgba(255, 70, 150, 0); }
}

/* Reveal on scroll.
   Schováváme jen tehdy, když běží theme.js (třída .gmu-js). Bez skriptu
   zůstane obsah viditelný — animace nesmí obsah zamknout. */
.gmu-js .gmu-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s ease, transform .7s ease;
}

.gmu-js .gmu-reveal.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.gmu-js .gmu-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}

/* Přidání do košíku: fotka odletí do ikony košíku a ta poskočí */
@keyframes gmuBump {
	0%, 100% { transform: scale(1); }
	35% { transform: scale(1.28); }
	65% { transform: scale(.92); }
}

.gmu-fly {
	position: fixed;
	z-index: 9999;
	pointer-events: none;
	background-size: cover;
	background-position: center;
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(30, 16, 51, 0.35);
	will-change: transform, opacity;
}

.gmu-bump {
	animation: gmuBump .45s cubic-bezier(.34, 1.56, .64, 1);
}

/* Kosočtverec — značka */
.gmu-diamond {
	width: 5px;
	height: 5px;
	background: var(--gmu-pink);
	transform: rotate(45deg);
	display: inline-block;
	flex-shrink: 0;
}

.gmu-diamond--lg {
	width: 7px;
	height: 7px;
}

/* =========================================================
   4. Marquee
   ========================================================= */
.gmu-marquee {
	background: var(--gmu-dark-2);
	overflow: hidden;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 70, 150, 0.15);
}

.gmu-marquee__track {
	display: flex;
	width: 200%;
	animation: gmuMarquee 26s linear infinite;
}

.gmu-marquee__half {
	display: flex;
	flex: none;
	width: 50%;
	justify-content: space-around;
	align-items: center;
}

.gmu-marquee__text {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .4px;
	color: var(--gmu-light-75);
	white-space: nowrap;
}

/* =========================================================
   5. Hlavička
   ========================================================= */
.gmu-header {
	background: var(--gmu-dark);
	border-bottom: 1px solid var(--gmu-line-dark);
	position: relative;
	z-index: 40;
}

/* Tři sloupce: logo | vyhledávání | akce.
   Krajní sloupce mají stejnou váhu, takže search sedí přesně uprostřed stránky. */
.gmu-header__bar {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 18px 32px 14px;
	display: grid;
	grid-template-columns: 1fr minmax(0, 560px) 1fr;
	align-items: center;
	gap: 28px;
}

.gmu-logo {
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 24px;
	letter-spacing: .5px;
	color: var(--gmu-light);
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 9px;
}

.gmu-logo:hover {
	color: #fff;
}

.gmu-logo__mark {
	width: 10px;
	height: 10px;
	background: var(--gmu-pink);
	border-radius: 2px;
	transform: rotate(45deg);
	display: inline-block;
	box-shadow: 0 0 12px var(--gmu-pink);
}

.gmu-logo img {
	max-height: 40px;
	width: auto;
}

.gmu-search {
	width: 100%;
	max-width: 560px;
	position: relative;
	margin: 0;
	justify-self: center;
}

.gmu-search input[type="search"],
.gmu-search input[type="text"] {
	width: 100%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--gmu-radius-sm);
	padding: 11px 44px 11px 16px;
	color: var(--gmu-light);
	font-size: 14px;
	font-family: inherit;
	outline: none;
	-webkit-appearance: none;
}

.gmu-search input::placeholder {
	color: rgba(244, 241, 248, 0.45);
}

.gmu-search input:focus {
	border-color: rgba(255, 70, 150, 0.6);
}

.gmu-search__submit {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	opacity: .6;
}

.gmu-search__submit:hover {
	opacity: 1;
}

/* --- Našeptávač --- */
.gmu-suggest {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 70;
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(30, 16, 51, 0.28);
	padding: 8px;
	max-height: 70vh;
	overflow-y: auto;
	overscroll-behavior: contain;
	text-align: left;
}

.gmu-suggest[hidden] {
	display: none;
}

.gmu-suggest__group {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--gmu-ink-45);
	padding: 10px 10px 6px;
}

.gmu-suggest__item {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 8px 10px;
	border-radius: 9px;
	color: var(--gmu-ink);
	text-decoration: none;
}

.gmu-suggest__item:hover,
.gmu-suggest__item.is-active {
	background: var(--gmu-bg-alt);
	color: var(--gmu-ink);
}

.gmu-suggest__thumb {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: repeating-linear-gradient(135deg, #f1eef5 0 8px, #f8f6fa 8px 16px);
}

.gmu-suggest__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gmu-suggest__body {
	flex: 1;
	min-width: 0;
}

.gmu-suggest__name {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--gmu-ink);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gmu-suggest__name mark {
	background: rgba(255, 70, 150, 0.18);
	color: inherit;
	padding: 0;
	border-radius: 2px;
}

.gmu-suggest__price {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--gmu-dark);
	margin-top: 2px;
}

.gmu-suggest__item--cat {
	justify-content: space-between;
}

.gmu-suggest__count {
	font-size: 11px;
	color: var(--gmu-ink-45);
	flex-shrink: 0;
}

.gmu-suggest__empty {
	padding: 22px 12px;
	text-align: center;
	font-size: 13px;
	color: var(--gmu-ink-55);
}

.gmu-suggest__all {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 11px;
	background: var(--gmu-bg-alt);
	border: none;
	border-radius: 9px;
	color: var(--gmu-ink);
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	text-align: center;
}

.gmu-suggest__all:hover {
	background: var(--gmu-pink);
	color: #fff;
}

.gmu-header__actions {
	display: flex;
	align-items: center;
	gap: 20px;
	justify-self: end;
}

.gmu-action {
	background: none;
	border: none;
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--gmu-light);
	cursor: pointer;
	font-family: inherit;
	font-size: 13.5px;
	padding: 6px;
	position: relative;
	white-space: nowrap;
}

.gmu-action:hover,
.gmu-action.is-active {
	color: var(--gmu-pink);
}

.gmu-cart-wrap {
	position: relative;
}

/* Na mobilu je vyhledávání kvůli `order` vykreslené později, takže jeho
   lupa prosvítala přes otevřený panel košíku. */
.gmu-cart-wrap.is-open {
	z-index: 60;
}

.gmu-cart-count {
	position: absolute;
	top: -6px;
	right: -8px;
	background: var(--gmu-pink);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	border-radius: 9px;
	min-width: 17px;
	height: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	animation: gmuPopIn .35s ease;
}

.gmu-cart-count.is-empty {
	display: none;
}

/* Mini košík */
.gmu-minicart {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: 340px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
	border: 1px solid var(--gmu-line);
	padding: 18px;
	z-index: 50;
	display: none;
}

.gmu-cart-wrap.is-open .gmu-minicart {
	display: block;
}

.gmu-minicart__title {
	font-weight: 700;
	font-size: 13.5px;
	color: var(--gmu-ink);
	margin-bottom: 14px;
}

.gmu-minicart__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-height: 290px;
	overflow-y: auto;
	overscroll-behavior: contain;
	margin: 0 0 14px;
	list-style: none;
	padding: 0;
}

.gmu-minicart__item {
	display: flex;
	align-items: center;
	gap: 11px;
	position: relative;
	padding-right: 20px;
}

.gmu-minicart__thumb {
	width: 46px;
	height: 46px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: repeating-linear-gradient(135deg, #f1eef5 0 8px, #f8f6fa 8px 16px);
}

.gmu-minicart__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gmu-minicart__body {
	flex: 1;
	min-width: 0;
}

/* Nejvýš dva řádky názvu — jinak se řádek roztáhne a vedle ceny zůstane díra. */
.gmu-minicart__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--gmu-ink);
}

a.gmu-minicart__name:hover {
	color: var(--gmu-pink);
}

/* Filtr WooCommerce dává tomuhle span třídu `quantity`, na kterou sedí
   styl množstevního stepperu z košíku — proto kolem ceny vyskočil rámeček. */
.gmu-minicart__meta,
.gmu-minicart .quantity {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--gmu-dark);
	margin-top: 3px;
	border: none;
	background: none;
	border-radius: 0;
	overflow: visible;
	padding: 0;
	width: auto;
}

/* woocommerce.css má u .remove `color: red !important`, jinak by křížek
   zůstal signálně červený. Přebít se to dá jen dalším !important. */
.gmu-minicart__remove,
.woocommerce a.remove.gmu-minicart__remove {
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gmu-ink-45) !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	padding: 0;
	border-radius: 50%;
}

.gmu-minicart__remove:hover,
.woocommerce a.remove.gmu-minicart__remove:hover {
	background: rgba(255, 70, 150, 0.1);
	color: var(--gmu-pink) !important;
}

.gmu-minicart__subtotal {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	font-weight: 700;
	color: var(--gmu-ink);
	padding-top: 10px;
	border-top: 1px solid rgba(28, 22, 38, 0.1);
	margin-bottom: 14px;
}

.gmu-minicart__cta {
	display: block;
	text-align: center;
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	font-weight: 700;
	font-size: 13px;
	padding: 10px;
	border-radius: 8px;
}

.gmu-minicart__cta:hover {
	background: var(--gmu-pink-dark);
	color: #fff;
}

.gmu-minicart__empty {
	font-size: 12.5px;
	color: rgba(28, 22, 38, 0.5);
	text-align: center;
	padding: 16px 0;
	margin: 0;
}

/* Navigace */
.gmu-nav {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 13px 32px 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	position: relative;
	z-index: 20;
}

.gmu-nav__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 26px;
	flex-wrap: wrap;
}

.gmu-nav__menu li {
	position: relative;
}

.gmu-nav__menu > li > a {
	font-size: 13px;
	color: var(--gmu-light-75);
	font-weight: 500;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 4px 0;
}

.gmu-nav__menu > li > a:hover,
.gmu-nav__menu > li.current-menu-item > a {
	color: var(--gmu-pink);
}

.gmu-nav__menu > li.menu-item-has-children > a::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 3.5px solid transparent;
	border-right: 3.5px solid transparent;
	border-top: 4px solid var(--gmu-light-50);
}

/* Dropdown — panel je potomek stejného hover-rootu, žádná mrtvá zóna */
.gmu-nav__menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px 0 0;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 30;
	display: none;
	min-width: 200px;
}

.gmu-nav__menu li.menu-item-has-children:hover > .sub-menu,
.gmu-nav__menu li.menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.gmu-nav__menu .sub-menu::before {
	content: "";
	position: absolute;
	inset: 8px 0 0;
	background: var(--gmu-dark-3);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--gmu-radius-sm);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
	z-index: -1;
}

.gmu-nav__menu .sub-menu li {
	padding: 0 8px;
}

.gmu-nav__menu .sub-menu li:first-child {
	padding-top: 8px;
}

.gmu-nav__menu .sub-menu li:last-child {
	padding-bottom: 8px;
}

.gmu-nav__menu .sub-menu a {
	font-size: 12.5px;
	color: var(--gmu-light-75);
	padding: 8px 10px;
	border-radius: 6px;
	white-space: nowrap;
	display: block;
}

.gmu-nav__menu .sub-menu a:hover {
	color: var(--gmu-pink);
	background: rgba(255, 255, 255, 0.06);
}

/* Mobilní hamburger — na desktopu skrytý */
.gmu-nav-toggle {
	display: none;
	align-items: center;
	gap: 10px;
	background: none;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	color: var(--gmu-light);
	padding: 9px 14px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.gmu-nav-toggle__bars,
.gmu-nav-toggle__bars::before,
.gmu-nav-toggle__bars::after {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--gmu-light);
	border-radius: 2px;
}

.gmu-nav-toggle__bars {
	position: relative;
}

.gmu-nav-toggle__bars::before,
.gmu-nav-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}

.gmu-nav-toggle__bars::before {
	top: -6px;
}

.gmu-nav-toggle__bars::after {
	top: 6px;
}

/* Rozbalovací tlačítko u kategorií a zavírací křížek — jen v mobilním panelu */
.gmu-nav__expand,
.gmu-nav__close {
	display: none;
}

body.gmu-nav-open {
	overflow: hidden;
}

/* Kroky objednávky nad obsahem košíku a pokladny */
.gmu-steps {
	max-width: 1160px;
	margin: 0 auto;
	padding: 34px 32px 6px;
}

.gmu-steps__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
}

/* Spojnice vede jen mezi středy krajních koleček. */
.gmu-steps__list::before {
	content: "";
	position: absolute;
	top: 21px;
	left: 16.66%;
	right: 16.66%;
	height: 1px;
	background: rgba(28, 22, 38, 0.12);
}

.gmu-steps__item {
	position: relative;
	text-align: center;
}

.gmu-steps__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--gmu-ink-45);
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1.3;
}

.gmu-steps__num {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid rgba(28, 22, 38, 0.14);
	color: var(--gmu-ink-45);
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.gmu-steps__item.is-done .gmu-steps__link {
	color: var(--gmu-ink);
}

.gmu-steps__item.is-done .gmu-steps__num {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

a.gmu-steps__link:hover {
	color: var(--gmu-pink);
}

a.gmu-steps__link:hover .gmu-steps__num {
	background: var(--gmu-pink);
	border-color: var(--gmu-pink);
	color: #fff;
	transform: translateY(-2px);
}

.gmu-steps__item.is-current .gmu-steps__link {
	color: var(--gmu-ink);
	font-weight: 700;
}

.gmu-steps__item.is-current .gmu-steps__num {
	background: var(--gmu-pink);
	border-color: var(--gmu-pink);
	color: #fff;
	box-shadow: 0 8px 20px rgba(255, 70, 150, 0.3);
}

@media (max-width: 560px) {
	.gmu-steps {
		padding: 24px 20px 4px;
	}

	.gmu-steps__link {
		font-size: 11.5px;
		gap: 7px;
	}

	.gmu-steps__num {
		width: 34px;
		height: 34px;
		font-size: 13px;
	}

	.gmu-steps__list::before {
		top: 17px;
	}
}

/* =========================================================
   6. Hero (frontpage)
   ========================================================= */
.gmu-hero {
	position: relative;
	background: linear-gradient(135deg, #1e1033 0%, #150a26 60%, #1e1033 100%);
	overflow: hidden;
	padding: 76px 32px 104px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
}

.gmu-hero__blob {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.gmu-hero__blob--a {
	top: -80px;
	right: 8%;
	width: 340px;
	height: 340px;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.35), transparent 70%);
	filter: blur(10px);
	animation: gmuFloatGlow 9s ease-in-out infinite;
}

.gmu-hero__blob--b {
	bottom: -100px;
	left: 6%;
	width: 280px;
	height: 280px;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.18), transparent 70%);
	filter: blur(14px);
	animation: gmuFloatGlow 11s ease-in-out infinite reverse;
}

.gmu-hero__cursor {
	position: absolute;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.22), transparent 70%);
	pointer-events: none;
	filter: blur(6px);
	transition: left .18s ease, top .18s ease;
	left: 420px;
	top: 180px;
	transform: translate(-50%, -50%);
}

.gmu-hero__sparkle {
	position: absolute;
	border-radius: 50%;
	background: var(--gmu-pink);
	box-shadow: 0 0 8px var(--gmu-pink);
	animation: gmuSparkle 3.4s ease-in-out infinite;
}

.gmu-hero__sparkle:nth-child(1) { top: 20%; left: 16%; width: 4px; height: 4px; }
.gmu-hero__sparkle:nth-child(2) { top: 62%; left: 9%; width: 3px; height: 3px; background: #fff; box-shadow: 0 0 6px #fff; animation-duration: 4.1s; animation-delay: .6s; }
.gmu-hero__sparkle:nth-child(3) { top: 30%; left: 46%; width: 3px; height: 3px; animation-duration: 3.8s; animation-delay: 1.1s; }
.gmu-hero__sparkle:nth-child(4) { top: 75%; left: 38%; width: 4px; height: 4px; background: #fff; box-shadow: 0 0 8px #fff; animation-duration: 3.2s; animation-delay: 1.8s; }
.gmu-hero__sparkle:nth-child(5) { top: 14%; left: 68%; width: 3px; height: 3px; animation-duration: 4.4s; animation-delay: .3s; }

.gmu-hero__corner {
	position: absolute;
	width: 44px;
	height: 44px;
}

.gmu-hero__corner--tl {
	top: 26px;
	left: 26px;
	border-top: 1.5px solid rgba(255, 255, 255, 0.22);
	border-left: 1.5px solid rgba(255, 255, 255, 0.22);
}

.gmu-hero__corner--br {
	bottom: 26px;
	right: 26px;
	border-bottom: 1.5px solid rgba(255, 255, 255, 0.22);
	border-right: 1.5px solid rgba(255, 255, 255, 0.22);
}

.gmu-hero__inner {
	position: relative;
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 60px;
	flex-wrap: wrap;
}

.gmu-hero__copy {
	flex: 0 1 56%;
	min-width: 320px;
	max-width: 640px;
	animation: gmuHeroRise .8s ease both;
}

/* Vizuál drží celou pravou polovinu sekce až k okraji okna. */
.gmu-hero__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 52%;
	z-index: 0;
	pointer-events: none;
}

.gmu-hero__title {
	font-family: var(--gmu-font-display);
	font-weight: 600;
	font-size: 46px;
	line-height: 1.18;
	color: var(--gmu-light);
	margin: 0 0 18px;
	max-width: 560px;
	text-wrap: pretty;
}

.gmu-hero__sub {
	font-size: 16.5px;
	line-height: 1.6;
	color: rgba(244, 241, 248, 0.68);
	max-width: 480px;
	margin: 0 0 32px;
}

.gmu-hero__cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.gmu-hero__bullets {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 26px;
}

.gmu-hero__bullet {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: rgba(244, 241, 248, 0.6);
}

.gmu-hero__bullet::before {
	content: "";
	width: 5px;
	height: 5px;
	background: var(--gmu-pink);
	border-radius: 50%;
}

/* Prolnutí řešíme maskou, ne překryvem barvou — pozadí hero sekce je gradient,
   takže by se plná barva nikdy netrefila. Maska nechá obrázek zprůhlednět
   a spodní gradient prosvítá sám. */
.gmu-hero__image {
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 18%, rgba(0, 0, 0, .75) 40%, #000 62%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .25) 18%, rgba(0, 0, 0, .75) 40%, #000 62%);
}

.gmu-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Placeholder, dokud není nahraný promo obrázek. */
.gmu-hero__image:not(:has(img)) {
	background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 14px, rgba(255, 255, 255, 0.02) 14px 28px);
}

/* Obsah drží nad vizuálem. */
.gmu-hero__inner {
	z-index: 1;
}

/* Odpočet */
.gmu-countdown {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
	background: rgba(255, 70, 150, 0.12);
	border: 1.5px solid rgba(255, 70, 150, 0.55);
	padding: 12px 18px;
	border-radius: 12px;
	animation: gmuPulseGlow 2.2s ease-in-out infinite;
	flex-wrap: wrap;
}

.gmu-countdown__label {
	font-size: 12px;
	font-weight: 700;
	color: var(--gmu-pink-soft);
	text-transform: uppercase;
	letter-spacing: .6px;
	display: flex;
	align-items: center;
	gap: 7px;
}

.gmu-countdown__boxes {
	display: flex;
	align-items: center;
	gap: 5px;
}

.gmu-countdown__box {
	background: var(--gmu-dark);
	border: 1px solid rgba(255, 70, 150, 0.5);
	border-radius: 8px;
	padding: 6px 10px;
	min-width: 42px;
	text-align: center;
}

.gmu-countdown__num {
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 20px;
	color: #fff;
	line-height: 1;
}

.gmu-countdown__unit {
	font-size: 8px;
	color: var(--gmu-light-50);
	text-transform: uppercase;
	letter-spacing: .4px;
	margin-top: 2px;
}

.gmu-countdown__sep {
	color: var(--gmu-pink);
	font-weight: 700;
	font-size: 16px;
}

/* =========================================================
   7. Tlačítka
   ========================================================= */
.gmu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 14.5px;
	padding: 14px 28px;
	border-radius: 9px;
	cursor: pointer;
	font-family: inherit;
	box-shadow: 0 8px 24px rgba(255, 70, 150, 0.35);
	transition: transform .25s ease, background .25s ease;
	text-align: center;
}

.gmu-btn:hover {
	transform: translateY(-2px);
	background: var(--gmu-pink);
	color: var(--gmu-dark);
}

.gmu-btn--ghost {
	background: transparent;
	color: var(--gmu-light);
	border: 1px solid rgba(244, 241, 248, 0.28);
	font-weight: 600;
	padding: 14px 26px;
	box-shadow: none;
}

.gmu-btn--ghost:hover {
	border-color: var(--gmu-pink);
	color: var(--gmu-light);
	transform: none;
}

.gmu-btn--dark {
	background: var(--gmu-dark);
	color: #fff;
	box-shadow: none;
}

.gmu-btn--dark:hover {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
}

.gmu-btn--sm {
	font-size: 13.5px;
	padding: 12px 22px;
	box-shadow: 0 8px 22px rgba(255, 70, 150, 0.3);
}

.gmu-btn--block {
	width: 100%;
}

.gmu-link-underline {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--gmu-ink);
	border-bottom: 1.5px solid var(--gmu-pink);
	padding-bottom: 2px;
	display: inline-block;
}

.gmu-link-underline:hover {
	color: var(--gmu-pink);
}

/* =========================================================
   8. Sekce, nadpisy
   ========================================================= */
.gmu-section {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 70px 32px 30px;
}

.gmu-section--alt {
	background: var(--gmu-bg-alt);
	max-width: none;
	padding: 70px 32px;
	border-top: 1px solid rgba(28, 22, 38, 0.06);
	border-bottom: 1px solid rgba(28, 22, 38, 0.06);
	margin-top: 70px;
}

.gmu-section--alt > .gmu-section__inner {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
}

.gmu-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--gmu-pink);
	text-transform: uppercase;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.gmu-eyebrow--center {
	justify-content: center;
}

.gmu-eyebrow--light {
	color: var(--gmu-pink-soft);
}

.gmu-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 32px;
	flex-wrap: wrap;
	gap: 10px;
}

.gmu-section__head--center {
	display: block;
	text-align: center;
	margin-bottom: 38px;
}

.gmu-section__title {
	font-family: var(--gmu-font-display);
	font-size: 30px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0;
}

.gmu-section__title--sm {
	font-size: 28px;
}

.gmu-section__title--label {
	font-size: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
}

.gmu-section--tight {
	padding-top: 44px;
	padding-bottom: 10px;
}

.gmu-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 16px auto 0;
	max-width: 200px;
}

.gmu-divider::before,
.gmu-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(28, 22, 38, 0.14);
}

/* =========================================================
   9. Trust strip + bannery + statistiky
   ========================================================= */
.gmu-trust {
	max-width: var(--gmu-wrap);
	margin: -14px auto 0;
	padding: 36px 32px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	border-bottom: 1px solid rgba(28, 22, 38, 0.08);
	position: relative;
	z-index: 2;
}

.gmu-trust__item {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 8px 20px;
}

.gmu-trust__icon {
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: rgba(255, 70, 150, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gmu-trust__icon::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--gmu-pink);
	border-radius: 50%;
}

.gmu-trust__title {
	font-weight: 700;
	font-size: 13.5px;
	color: var(--gmu-ink);
}

.gmu-trust__sub {
	font-size: 12px;
	color: var(--gmu-ink-55);
}

.gmu-promo {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 10px 32px 60px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.gmu-promo__card {
	border-radius: 16px;
	padding: 34px;
	position: relative;
	overflow: hidden;
}

.gmu-promo__card--dark {
	background: linear-gradient(160deg, #1e1033, #2b1750);
}

.gmu-promo__card--dark::before {
	content: "";
	position: absolute;
	top: -40px;
	right: -20px;
	width: 180px;
	height: 180px;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.25), transparent 70%);
	filter: blur(8px);
}

.gmu-promo__card--light {
	background: var(--gmu-bg-alt);
	border: 1px solid var(--gmu-line);
}

.gmu-promo__body {
	position: relative;
}

.gmu-promo__title {
	font-family: var(--gmu-font-display);
	font-size: 23px;
	font-weight: 600;
	margin: 0 0 12px;
}

.gmu-promo__card--dark .gmu-promo__title {
	color: #fff;
}

.gmu-promo__text {
	font-size: 13.5px;
	line-height: 1.6;
	margin: 0 0 22px;
	max-width: 400px;
}

.gmu-promo__card--dark .gmu-promo__text {
	color: var(--gmu-light-62);
}

.gmu-promo__card--light .gmu-promo__text {
	color: rgba(28, 22, 38, 0.62);
}

.gmu-stats {
	background: var(--gmu-dark);
	padding: 50px 32px;
	position: relative;
	overflow: hidden;
}

.gmu-stats__grid {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	text-align: center;
}

.gmu-stats__item:nth-child(2) {
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.gmu-stats__num {
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 38px;
	color: #fff;
	margin-bottom: 6px;
}

.gmu-stats__item:nth-child(2) .gmu-stats__num {
	color: var(--gmu-pink);
}

.gmu-stats__label {
	font-size: 13px;
	color: rgba(244, 241, 248, 0.55);
}

/* Proces */
.gmu-process {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	position: relative;
}

.gmu-process::before {
	content: "";
	position: absolute;
	top: 19px;
	left: 12.5%;
	right: 12.5%;
	height: 1px;
	background: rgba(28, 22, 38, 0.12);
}

.gmu-process__step {
	position: relative;
	text-align: center;
	padding: 0 10px;
}

.gmu-process__num {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--gmu-pink);
	color: var(--gmu-pink);
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	position: relative;
	z-index: 1;
}

.gmu-process__title {
	font-weight: 700;
	font-size: 13.5px;
	color: var(--gmu-ink);
	margin-bottom: 6px;
}

.gmu-process__text {
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--gmu-ink-55);
}

/* Recenze na homepage */
.gmu-testimonials {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.gmu-testimonial {
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.08);
	border-radius: var(--gmu-radius-card);
	padding: 26px;
}

.gmu-testimonial__quote {
	font-family: var(--gmu-font-display);
	font-size: 32px;
	color: var(--gmu-pink);
	line-height: 1;
	margin-bottom: 10px;
}

.gmu-testimonial__text {
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--gmu-ink-70);
	margin: 0 0 16px;
}

.gmu-testimonial__stars {
	color: var(--gmu-pink);
	font-size: 12px;
	letter-spacing: 1px;
	margin-bottom: 6px;
}

.gmu-testimonial__author {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--gmu-ink);
}

/* =========================================================
   10. Produktové karty (WooCommerce loop)
   ========================================================= */
ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 26px;
}

/* woocommerce-smallscreen.css dává položkám do 768 px `width: 48%` a float.
   V gridu se float ignoruje, ale šířka ne — karty pak zabíraly polovinu
   své buňky a mezi nimi zůstala díra. */
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto;
	float: none;
	clear: none;
	margin: 0;
}

/* WooCommerce si do ul.products vkládá clearfix ::before/::after. V gridu
   i flexu se z nich stanou plnohodnotné položky a posunou celou mřížku
   o jedno místo — proto je vypínáme. */
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after {
	display: none !important;
	content: none !important;
}

ul.products.columns-4 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
ul.products.columns-3 { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

ul.products li.product {
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-radius: var(--gmu-radius-card);
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease;
	position: relative;
	margin: 0;
	list-style: none;
	/* Karty stejné výšky: obsah roste, cena je vždy přišpendlená dole. */
	display: flex;
	flex-direction: column;
}

ul.products li.product:hover {
	transform: translateY(-7px) rotate(-1.4deg);
	box-shadow: var(--gmu-shadow-card);
}

ul.products li.product:nth-child(even):hover {
	transform: translateY(-7px) rotate(1.4deg);
}

.gmu-card__media {
	aspect-ratio: 1 / 1;
	flex-shrink: 0;
	position: relative;
	background: repeating-linear-gradient(135deg, #f1eef5 0 14px, #f8f6fa 14px 28px);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* woocommerce.css nutí `.woocommerce ul.products li.product a img { height:auto }`,
   takže menší fotky nechávaly v kartě prázdné pruhy. Přebíjíme vyšší specificitou. */
.woocommerce ul.products li.product a.gmu-card__media img,
.woocommerce ul.products li.product .gmu-card__media img,
.gmu-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}

.gmu-card__placeholder {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 11px;
	color: rgba(28, 22, 38, 0.4);
}

.gmu-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--gmu-pink);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	padding: 4px 9px 4px 8px;
	border-radius: 6px;
	letter-spacing: .3px;
	display: flex;
	align-items: center;
	gap: 5px;
	z-index: 2;
}

.gmu-card__badge .gmu-diamond {
	width: 4px;
	height: 4px;
	background: #fff;
}

.gmu-card__badge--dark {
	background: var(--gmu-dark);
}

.gmu-card__badge--dark .gmu-diamond {
	background: var(--gmu-pink);
}

.gmu-card__badge--muted {
	background: rgba(30, 16, 51, 0.85);
	font-size: 10px;
	padding: 4px 8px 4px 7px;
}

.gmu-card__badge--muted .gmu-diamond {
	background: var(--gmu-pink);
}

.gmu-card__flash {
	position: absolute;
	inset: 0;
	background: rgba(30, 16, 51, 0.82);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 3;
}

.gmu-card__flash.is-visible {
	display: flex;
	animation: gmuPopIn .3s ease;
}

.gmu-card__flash span {
	color: #fff;
	font-weight: 700;
	font-size: 13px;
}

.gmu-card__body {
	padding: 16px 16px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.gmu-card__cat {
	font-size: 11.5px;
	color: rgba(28, 22, 38, 0.5);
	margin-bottom: 4px;
}

.gmu-card__title,
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--gmu-font-body);
	font-weight: 700;
	font-size: 14.5px;
	color: var(--gmu-ink);
	margin: 0 0 8px;
	line-height: 1.3;
	padding: 0;
}

/* Vždy dva řádky, ať se karty nerozjíždějí podle délky názvu. */
.gmu-card__title a {
	color: inherit;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}

.gmu-card__title a:hover {
	color: var(--gmu-pink);
}

.gmu-card__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 6px;
}

.gmu-stars {
	color: var(--gmu-pink);
	font-size: 11px;
	letter-spacing: 1px;
	white-space: nowrap;
}

.gmu-card__reviews {
	font-size: 11px;
	color: var(--gmu-ink-45);
}

.gmu-card__stock {
	font-size: 11px;
	font-weight: 700;
	color: var(--gmu-pink);
	margin-bottom: 8px;
}

/* Cena drží spodní hranu karty; tlačítko je ukotvené absolutně,
   aby sedělo na stejném místě bez ohledu na délku názvu a štítky. */
.gmu-card__foot {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
	padding-right: 46px;
	min-height: 36px;
}

.gmu-card__price,
ul.products li.product .price {
	font-weight: 800;
	font-size: 16px;
	color: var(--gmu-dark);
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 6px;
}

ul.products li.product .price del {
	font-weight: 500;
	font-size: 12.5px;
	color: var(--gmu-ink-45);
}

ul.products li.product .price ins {
	text-decoration: none;
}

/* Selektor musí obsahovat .woocommerce, jinak vyhraje padding a margin
   z woocommerce.css (.woocommerce ul.products li.product .button) a ikona
   se v tlačítku posune do rohu. */
.woocommerce ul.products li.product .button,
ul.products li.product .button,
.gmu-card__add {
	position: absolute;
	right: 16px;
	bottom: 18px;
	z-index: 2;
	background: var(--gmu-dark);
	color: #fff;
	border: none;
	width: 36px;
	height: 36px;
	min-width: 36px;
	flex-shrink: 0;
	border-radius: 9px;
	cursor: pointer;
	font-size: 0;
	display: grid;
	place-items: center;
	transition: background .2s ease, transform .2s ease;
	padding: 0;
	margin: 0;
	text-indent: 0;
	line-height: 0;
}

.woocommerce ul.products li.product .button svg,
ul.products li.product .button svg,
.gmu-card__add svg {
	display: block;
	grid-area: 1 / 1;
}

.woocommerce ul.products li.product .button:hover,
ul.products li.product .button:hover {
	background: var(--gmu-pink);
	transform: translateY(-1px);
}

/* Woo přidává .loading a .added — ať tlačítko nepřeskakuje. */
.woocommerce ul.products li.product .button.loading::after,
.woocommerce ul.products li.product .button.added::after {
	display: none;
}

ul.products li.product .button:hover,
.gmu-card__add:hover {
	background: var(--gmu-pink);
	color: #fff;
}

ul.products li.product .button.loading::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.25);
	border-radius: 9px;
}

ul.products li.product .added_to_cart {
	display: none;
}

/* WooCommerce onsale */
.woocommerce span.onsale,
ul.products li.product .onsale {
	position: absolute;
	top: 10px;
	right: 10px;
	left: auto;
	background: var(--gmu-pink);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	padding: 4px 9px;
	border-radius: 6px;
	z-index: 2;
	margin: 0;
	min-height: 0;
	min-width: 0;
	line-height: 1.5;
}

/* =========================================================
   10b. Karusel
   ========================================================= */
.gmu-carousel {
	position: relative;
}

/* Vodorovný scroll je nativní — bez JS zůstane sekce plně použitelná.
   Vnitřní padding dává prostor nadzvednutí karty při hoveru. */
.gmu-carousel__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	/* proximity, ne mandatory: programové posuny na konec by jinak prohlížeč
	   dorovnal na nejbližší kartu a stránkování by se rozešlo s tečkami. */
	scroll-snap-type: x proximity;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 12px 2px 34px;
	margin: -12px -2px -20px;
}

.gmu-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.gmu-carousel__viewport:focus-visible {
	outline: 2px solid var(--gmu-pink);
	outline-offset: 4px;
	border-radius: var(--gmu-radius-card);
}

.gmu-carousel ul.products,
.gmu-carousel .gmu-cat-tiles {
	display: flex;
	gap: 26px;
	grid-template-columns: none;
}

.gmu-carousel ul.products > li.product,
.gmu-carousel .gmu-cat-tiles > .gmu-cat-tile {
	flex: 0 0 calc((100% - 3 * 26px) / 4);
	scroll-snap-align: start;
}

.gmu-carousel .gmu-cat-tiles {
	gap: 20px;
}

.gmu-carousel .gmu-cat-tiles > .gmu-cat-tile {
	flex-basis: calc((100% - 4 * 20px) / 5);
}

/* Šipky */
.gmu-carousel__nav {
	position: absolute;
	top: calc(50% - 26px);
	transform: translateY(-50%);
	z-index: 5;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--gmu-line);
	background: #fff;
	color: var(--gmu-dark);
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(30, 16, 51, 0.16);
	transition: background .2s ease, color .2s ease, opacity .2s ease;
	padding: 0;
}

.gmu-js .gmu-carousel__nav:not([hidden]) {
	display: flex;
}

.gmu-carousel__nav:hover {
	background: var(--gmu-pink);
	border-color: var(--gmu-pink);
	color: #fff;
}

.gmu-carousel__nav[disabled] {
	opacity: .3;
	cursor: default;
	box-shadow: none;
}

.gmu-carousel__nav[disabled]:hover {
	background: #fff;
	border-color: var(--gmu-line);
	color: var(--gmu-dark);
}

.gmu-carousel__nav--prev {
	left: -18px;
}

.gmu-carousel__nav--next {
	right: -18px;
}

/* Tečky */
.gmu-carousel__dots {
	display: none;
	justify-content: center;
	gap: 8px;
	margin-top: 6px;
}

.gmu-js .gmu-carousel__dots:not(:empty) {
	display: flex;
}

.gmu-carousel__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(28, 22, 38, 0.18);
	cursor: pointer;
	transition: background .2s ease, width .2s ease;
}

.gmu-carousel__dot:hover {
	background: rgba(28, 22, 38, 0.35);
}

.gmu-carousel__dot.is-active {
	background: var(--gmu-pink);
	width: 22px;
	border-radius: 4px;
}

/* Na tmavém podkladu (sekce kategorií je světlá, ale pro jistotu) */
.gmu-section--alt .gmu-carousel__nav {
	background: #fff;
}

@media (max-width: 1440px) {
	.gmu-carousel__nav--prev {
		left: 4px;
	}

	.gmu-carousel__nav--next {
		right: 4px;
	}
}

@media (max-width: 1100px) {
	.gmu-carousel ul.products > li.product {
		flex-basis: calc((100% - 2 * 26px) / 3);
	}

	.gmu-carousel .gmu-cat-tiles > .gmu-cat-tile {
		flex-basis: calc((100% - 3 * 20px) / 4);
	}
}

@media (max-width: 900px) {
	.gmu-carousel ul.products {
		gap: 16px;
	}

	.gmu-carousel ul.products > li.product {
		flex-basis: calc((100% - 16px) / 2);
	}

	.gmu-carousel .gmu-cat-tiles {
		gap: 14px;
	}

	.gmu-carousel .gmu-cat-tiles > .gmu-cat-tile {
		flex-basis: calc((100% - 2 * 14px) / 3);
	}
}

@media (max-width: 560px) {
	.gmu-carousel ul.products > li.product {
		flex-basis: 78%;
	}

	.gmu-carousel .gmu-cat-tiles > .gmu-cat-tile {
		flex-basis: calc((100% - 14px) / 2);
	}
}

/* =========================================================
   11. Tmavý pruh stránky (archivy, účet)
   ========================================================= */
.gmu-pagehero {
	background: linear-gradient(135deg, #1e1033 0%, #150a26 60%, #1e1033 100%);
	padding: 26px 32px 46px;
	position: relative;
	overflow: hidden;
}

.gmu-pagehero--slim {
	padding: 26px 32px;
}

.gmu-pagehero::before {
	content: "";
	position: absolute;
	top: -60px;
	right: 8%;
	width: 260px;
	height: 260px;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.25), transparent 70%);
	filter: blur(10px);
}

.gmu-pagehero__inner {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	position: relative;
}

.gmu-breadcrumb {
	font-size: 13px;
	color: var(--gmu-light-50);
	margin-bottom: 18px;
}

.gmu-breadcrumb a {
	color: var(--gmu-light-50);
}

.gmu-breadcrumb a:hover {
	color: var(--gmu-pink);
}

.gmu-breadcrumb .gmu-breadcrumb__current {
	color: var(--gmu-light);
	font-weight: 600;
}

.gmu-pagehero__row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.gmu-pagehero__title {
	font-family: var(--gmu-font-display);
	font-size: 34px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 10px;
}

.gmu-pagehero__title--sm {
	font-size: 28px;
	margin: 0;
}

.gmu-pagehero__desc {
	font-size: 14.5px;
	color: var(--gmu-light-62);
	max-width: 560px;
	margin: 0;
}

.gmu-pagehero__desc p {
	margin: 0;
}

.gmu-count-chip {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 14px 22px;
	text-align: center;
	flex-shrink: 0;
}

.gmu-count-chip__num {
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 22px;
	color: #fff;
}

.gmu-count-chip__label {
	font-size: 11px;
	color: rgba(244, 241, 248, 0.55);
}

.gmu-subcats {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.gmu-subcats a {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gmu-light-75);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 7px 14px;
	border-radius: var(--gmu-radius-pill);
	white-space: nowrap;
}

.gmu-subcats a:hover,
.gmu-subcats a.is-active {
	border-color: rgba(255, 70, 150, 0.4);
	background: rgba(255, 70, 150, 0.16);
	color: var(--gmu-light);
}

/* Dlaždice kategorií */
.gmu-cat-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gmu-cat-tiles--sm {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 16px;
}

.gmu-cat-tile {
	display: block;
	position: relative;
	border-radius: var(--gmu-radius-card);
	overflow: hidden;
	aspect-ratio: 5 / 4;
	background: linear-gradient(160deg, #1e1033, #2b1750);
	transition: transform .3s ease;
	border: 2px solid transparent;
}

.gmu-cat-tile:nth-child(odd):hover {
	transform: translateY(-6px) rotate(-1.6deg);
}

.gmu-cat-tile:nth-child(even):hover {
	transform: translateY(-6px) rotate(1.6deg);
}

.gmu-cat-tile.is-active {
	border-color: var(--gmu-pink);
}

.gmu-cat-tile__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
}

.gmu-cat-tile__pattern {
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 12px, transparent 12px 24px);
}

.gmu-cat-tile__corner {
	position: absolute;
	width: 20px;
	height: 20px;
	transition: border-color .3s ease;
}

.gmu-cat-tile__corner--tl {
	top: 12px;
	left: 12px;
	border-top: 1.5px solid rgba(255, 70, 150, 0);
	border-left: 1.5px solid rgba(255, 70, 150, 0);
}

.gmu-cat-tile__corner--br {
	bottom: 12px;
	right: 12px;
	border-bottom: 1.5px solid rgba(255, 70, 150, 0);
	border-right: 1.5px solid rgba(255, 70, 150, 0);
}

.gmu-cat-tile:hover .gmu-cat-tile__corner--tl {
	border-top-color: rgba(255, 70, 150, 0.7);
	border-left-color: rgba(255, 70, 150, 0.7);
}

.gmu-cat-tile:hover .gmu-cat-tile__corner--br {
	border-bottom-color: rgba(255, 70, 150, 0.7);
	border-right-color: rgba(255, 70, 150, 0.7);
}

.gmu-cat-tile__body {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 18px;
	text-align: left;
}

.gmu-cat-tile__name {
	font-weight: 700;
	font-size: 14.5px;
	color: #fff;
	margin-bottom: 3px;
}

.gmu-cat-tile__count {
	font-size: 11.5px;
	color: rgba(255, 255, 255, 0.55);
}

/* =========================================================
   12. Archiv produktů — layout, filtry, řazení
   ========================================================= */
.gmu-shop {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 26px 32px 90px;
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 36px;
	align-items: start;
}

.gmu-shop--full {
	display: block;
	padding-top: 44px;
}

.gmu-filters {
	display: flex;
	flex-direction: column;
	gap: 24px;
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.08);
	border-radius: var(--gmu-radius-card);
	padding: 22px;
	position: sticky;
	top: 20px;
	align-self: start;
	height: fit-content;
}

.gmu-filters__block {
	display: block;
	margin: 0;
}

.gmu-filters__block + .gmu-filters__block {
	padding-top: 22px;
	border-top: 1px solid rgba(28, 22, 38, 0.09);
}

.gmu-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.gmu-filters__title {
	font-weight: 700;
	font-size: 14px;
	color: var(--gmu-ink);
	letter-spacing: .2px;
	display: flex;
	align-items: center;
	gap: 7px;
}

.gmu-filters__count {
	background: var(--gmu-pink);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	border-radius: 9px;
	min-width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
}

.gmu-filters__label {
	display: flex;
	align-items: center;
	gap: 7px;
	font-weight: 700;
	font-size: 12.5px;
	color: var(--gmu-ink);
	margin-bottom: 12px;
	letter-spacing: .2px;
	text-transform: uppercase;
}

/* --- Strom kategorií (sbalený přes <details>) --- */
.gmu-tree,
.gmu-tree__children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gmu-tree__item + .gmu-tree__item {
	margin-top: 2px;
}

.gmu-tree__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gmu-ink-70);
	padding: 7px 8px;
	border-radius: 7px;
	line-height: 1.3;
}

.gmu-tree__link:hover {
	background: #fff;
	color: var(--gmu-pink);
}

.gmu-tree__link.is-current {
	color: var(--gmu-pink);
	font-weight: 700;
	background: #fff;
}

.gmu-tree__count {
	font-size: 11px;
	color: var(--gmu-ink-45);
	flex-shrink: 0;
}

.gmu-tree__summary {
	display: flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
	list-style: none;
	border-radius: 7px;
}

.gmu-tree__summary::-webkit-details-marker {
	display: none;
}

/* Vlastní šipka, aby se dala otočit při rozbalení */
.gmu-tree__summary::after {
	content: "";
	order: -1;
	width: 0;
	height: 0;
	margin-left: 4px;
	border-left: 4px solid rgba(28, 22, 38, 0.4);
	border-top: 3.5px solid transparent;
	border-bottom: 3.5px solid transparent;
	transition: transform .2s ease;
	flex-shrink: 0;
}

.gmu-tree__group[open] > .gmu-tree__summary::after {
	transform: rotate(90deg);
}

.gmu-tree__summary .gmu-tree__link {
	flex: 1;
}

.gmu-tree__children {
	padding-left: 16px;
	margin-top: 2px;
}

.gmu-tree__children .gmu-tree__link {
	font-size: 12.5px;
	font-weight: 400;
	padding: 6px 8px;
}

/* --- Naposledy zobrazeno --- */
.gmu-recent {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gmu-recent__link {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--gmu-ink);
}

.gmu-recent__thumb {
	width: 46px;
	height: 46px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: repeating-linear-gradient(135deg, #f1eef5 0 8px, #f8f6fa 8px 16px);
}

.gmu-recent__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gmu-recent__body {
	min-width: 0;
}

.gmu-recent__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--gmu-ink);
}

.gmu-recent__link:hover .gmu-recent__name {
	color: var(--gmu-pink);
}

.gmu-recent__price {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--gmu-dark);
	margin-top: 3px;
}

.gmu-recent__price del {
	font-weight: 400;
	color: var(--gmu-ink-45);
	margin-right: 4px;
}

.gmu-recent__price ins {
	text-decoration: none;
}

.gmu-filters__price {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.gmu-filters__price input {
	width: 100%;
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 7px;
	font-size: 12.5px;
	font-family: inherit;
	background: #fff;
}

.gmu-filters__presets {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gmu-filters__preset {
	text-align: left;
	background: #fff;
	border: 1px solid rgba(28, 22, 38, 0.12);
	color: var(--gmu-ink-70);
	font-size: 12px;
	font-weight: 600;
	padding: 7px 10px;
	border-radius: 7px;
	cursor: pointer;
	font-family: inherit;
	display: block;
}

.gmu-filters__preset:hover,
.gmu-filters__preset.is-active {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

.gmu-filters__checks {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gmu-check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--gmu-ink);
	cursor: pointer;
	background: #fff;
	border: 1px solid rgba(28, 22, 38, 0.1);
	border-radius: 8px;
	padding: 9px 11px;
	margin: 0;
}

.gmu-check input[type="checkbox"] {
	accent-color: var(--gmu-pink);
	width: 15px;
	height: 15px;
	margin: 0;
}

.gmu-check__swatch {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--gmu-dark);
}

.gmu-filters__reset {
	background: none;
	border: 1px solid var(--gmu-line-strong);
	color: var(--gmu-ink);
	font-size: 12.5px;
	font-weight: 600;
	padding: 10px;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	text-align: center;
	display: block;
}

.gmu-filters__reset:hover {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

.gmu-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.gmu-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.12);
	color: var(--gmu-ink);
	font-size: 12px;
	font-weight: 600;
	padding: 6px 10px 6px 12px;
	border-radius: var(--gmu-radius-pill);
	cursor: pointer;
	font-family: inherit;
}

.gmu-chip:hover {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

.gmu-chip__x {
	font-size: 14px;
	line-height: 1;
}

.gmu-shop__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
	flex-wrap: wrap;
	gap: 12px;
}

.gmu-shop__count,
.woocommerce-result-count {
	font-size: 13px;
	color: var(--gmu-ink-55);
	margin: 0;
}

.woocommerce-ordering select,
.gmu-select {
	padding: 9px 14px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	color: var(--gmu-ink);
	background: #fff;
	cursor: pointer;
}

.woocommerce-ordering {
	margin: 0;
}

.gmu-empty {
	padding: 60px 20px;
	text-align: center;
	color: rgba(28, 22, 38, 0.5);
	font-size: 14px;
	border: 1px dashed var(--gmu-line-strong);
	border-radius: var(--gmu-radius-card);
}

/* Stránkování. Selektory musí obsahovat `nav.woocommerce-pagination`,
   jinak vyhraje šedé výchozí zvýraznění z woocommerce.css. */
.woocommerce nav.woocommerce-pagination,
.gmu-postlist + .gmu-wrap .navigation.pagination {
	margin-top: 44px;
}

.woocommerce nav.woocommerce-pagination ul,
.navigation.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
	flex-wrap: wrap;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	border-right: none;
	margin: 0;
	padding: 0;
	float: none;
	overflow: visible;
	display: block;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.navigation.pagination .page-numbers {
	min-width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	border: 1px solid var(--gmu-line);
	background: #fff;
	color: var(--gmu-ink);
	font-weight: 600;
	font-size: 13.5px;
	line-height: 1;
	padding: 0 10px;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.navigation.pagination a.page-numbers:hover {
	background: var(--gmu-bg-alt);
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a.current,
.navigation.pagination .page-numbers.current {
	background: var(--gmu-pink);
	border-color: var(--gmu-pink);
	color: #fff;
	box-shadow: 0 6px 16px rgba(255, 70, 150, 0.3);
}

.woocommerce nav.woocommerce-pagination ul li a.prev,
.woocommerce nav.woocommerce-pagination ul li a.next,
.navigation.pagination .prev.page-numbers,
.navigation.pagination .next.page-numbers {
	font-size: 16px;
	color: var(--gmu-ink-55);
}

.woocommerce nav.woocommerce-pagination ul li span.dots,
.navigation.pagination .dots {
	border-color: transparent;
	background: none;
	color: var(--gmu-ink-45);
	box-shadow: none;
}

/* CTA banner pod archivem */
.gmu-cta-banner {
	max-width: var(--gmu-wrap);
	margin: 0 auto 60px;
	padding: 0 32px;
}

.gmu-cta-banner__inner {
	background: linear-gradient(135deg, #1e1033, #2b1750);
	border-radius: 16px;
	padding: 40px 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	position: relative;
	overflow: hidden;
}

.gmu-cta-banner__inner::before {
	content: "";
	position: absolute;
	top: -40px;
	right: 6%;
	width: 180px;
	height: 180px;
	background: radial-gradient(circle, rgba(255, 70, 150, 0.28), transparent 70%);
	filter: blur(8px);
}

.gmu-cta-banner__title {
	font-family: var(--gmu-font-display);
	font-size: 22px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 8px;
	position: relative;
}

.gmu-cta-banner__text {
	font-size: 13.5px;
	color: var(--gmu-light-62);
	margin: 0;
	max-width: 460px;
	position: relative;
}

/* =========================================================
   13. Detail produktu
   ========================================================= */
.gmu-single {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 22px 32px 0;
}

.gmu-single .gmu-breadcrumb,
.gmu-single .woocommerce-breadcrumb {
	color: var(--gmu-ink-55);
	font-size: 13px;
	margin-bottom: 0;
}

.gmu-single .woocommerce-breadcrumb a {
	color: var(--gmu-ink-55);
}

.gmu-single .woocommerce-breadcrumb a:hover,
.gmu-single .gmu-breadcrumb a:hover {
	color: var(--gmu-pink);
}

.gmu-single .gmu-breadcrumb a {
	color: var(--gmu-ink-55);
}

.gmu-single .gmu-breadcrumb .gmu-breadcrumb__current {
	color: var(--gmu-ink);
	font-weight: 600;
}

.woocommerce div.product {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 28px 32px 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
}

.woocommerce div.product .woocommerce-product-gallery {
	width: 100%;
	float: none;
	margin: 0;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
	border-radius: 16px;
	overflow: hidden;
	background: repeating-linear-gradient(135deg, #f1eef5 0 14px, #f8f6fa 14px 28px);
}

.woocommerce div.product .woocommerce-product-gallery img {
	border-radius: 16px;
}

/* Náhledy vedle sebe přes celou šířku galerie — počet sloupců se řídí
   počtem fotek, takže tři fotky dají tři velké náhledy, ne tři drobky. */
.woocommerce div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
	gap: 0;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	overflow: visible;
	border-radius: 12px;
}

/* Woo má na tenhle prvek delší selektor (`div.images .flex-control-thumbs li`)
   s `width: 25%`, takže náhledy zabíraly čtvrtinu své buňky a byly drobné. */
.woocommerce div.product div.images .flex-control-thumbs li,
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce div.product .flex-control-thumbs li {
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
}

/* Náhledy na sebe navazují bez mezer, dělí je jen tenká linka. */
.woocommerce div.product .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: auto;
	border: none;
	border-right: 1px solid #fff;
	border-radius: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: .6;
	cursor: pointer;
	transition: opacity .2s ease, box-shadow .2s ease;
}

.woocommerce div.product .flex-control-thumbs li:last-child img {
	border-right: none;
}

.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover {
	opacity: 1;
	box-shadow: inset 0 -3px 0 var(--gmu-pink);
}

/* Šipky přepínání hlavní fotky (flexslider) */
.woocommerce div.product .woocommerce-product-gallery {
	position: relative;
}

.woocommerce div.product .flex-direction-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .flex-direction-nav a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--gmu-line);
	box-shadow: 0 8px 20px rgba(30, 16, 51, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gmu-dark);
	font-size: 26px;
	line-height: 1;
	text-indent: 0;
	text-decoration: none;
	opacity: 0;
	transition: opacity .25s ease, background .2s ease, color .2s ease;
}

.woocommerce div.product .woocommerce-product-gallery:hover .flex-direction-nav a,
.woocommerce div.product .flex-direction-nav a:focus-visible {
	opacity: 1;
}

.woocommerce div.product .flex-direction-nav a:hover {
	background: var(--gmu-pink);
	border-color: var(--gmu-pink);
	color: #fff;
}

.woocommerce div.product .flex-direction-nav .flex-prev {
	left: 14px;
	padding-right: 3px;
}

.woocommerce div.product .flex-direction-nav .flex-next {
	right: 14px;
	padding-left: 3px;
}

/* Na dotyku šipky nechávat vidět — hover neexistuje. */
@media (hover: none) {
	.woocommerce div.product .flex-direction-nav a {
		opacity: 1;
	}
}

.woocommerce div.product .summary {
	width: 100%;
	float: none;
	margin: 0;
}

.woocommerce div.product .product_title {
	font-family: var(--gmu-font-display);
	font-size: 30px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 12px;
	line-height: 1.25;
	padding: 0;
}

.gmu-product__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--gmu-pink);
	text-transform: uppercase;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.gmu-product__eyebrow a {
	color: inherit;
}

.woocommerce div.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
	color: var(--gmu-pink);
	font-size: 15px;
	margin: 0;
	float: none;
}

.woocommerce div.product .woocommerce-review-link {
	font-size: 13px;
	color: var(--gmu-ink-55);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--gmu-dark);
	font-weight: 800;
	font-size: 28px;
	flex-wrap: wrap;
}

.woocommerce div.product p.price del {
	font-size: 16px;
	color: rgba(28, 22, 38, 0.4);
	text-decoration: line-through;
	font-weight: 500;
	opacity: 1;
}

.woocommerce div.product p.price ins {
	text-decoration: none;
	font-weight: 800;
}

.gmu-product__save {
	background: var(--gmu-pink);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 6px;
	align-self: center;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--gmu-ink-65);
	margin: 0 0 26px;
	max-width: 460px;
}

.woocommerce div.product .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* Varianty / atributy */
.woocommerce div.product form.cart {
	margin-bottom: 26px;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: 18px;
	width: 100%;
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	padding: 6px 0;
	vertical-align: middle;
	border: none;
}

.woocommerce div.product form.cart .variations label {
	font-weight: 700;
	font-size: 13px;
	color: var(--gmu-ink);
}

.woocommerce div.product form.cart .variations select {
	padding: 10px 12px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 8px;
	font-family: inherit;
	font-size: 13px;
	background: #fff;
	min-width: 200px;
}

/* Množství + add to cart */
.woocommerce div.product form.cart,
.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.woocommerce div.product form.cart > .variations,
.woocommerce div.product form.cart > .woocommerce-variation,
.woocommerce div.product form.cart > .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart > table.group_table,
.woocommerce div.product form.cart > .woocommerce-grouped-product-list {
	flex-basis: 100%;
	width: 100%;
}

.woocommerce .quantity {
	display: flex;
	align-items: center;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 9px;
	overflow: hidden;
	background: #fff;
}

.gmu-qty-btn {
	width: 38px;
	height: 40px;
	border: none;
	background: #fff;
	font-size: 16px;
	cursor: pointer;
	color: var(--gmu-ink);
	line-height: 1;
}

.gmu-qty-btn:hover {
	background: #f5f3f7;
}

.woocommerce .quantity input.qty {
	width: 44px;
	height: 40px;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	color: var(--gmu-ink);
	border: none;
	background: #fff;
	font-family: inherit;
	-moz-appearance: textfield;
	padding: 0;
}

.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	background: var(--gmu-pink);
	color: #fff;
	border: none;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 20px;
	border-radius: 9px;
	cursor: pointer;
	font-family: inherit;
	transition: background .25s ease;
	box-shadow: 0 8px 20px rgba(255, 70, 150, 0.25);
	text-transform: none;
	line-height: 1.4;
}

.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
	background: var(--gmu-pink-dark);
}

.woocommerce div.product form.cart button.single_add_to_cart_button.gmu-added {
	background: var(--gmu-dark);
}

.woocommerce div.product form.cart button.single_add_to_cart_button.gmu-loading {
	opacity: .7;
	cursor: progress;
}

/* Trust list */
.gmu-product__trust {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	background: var(--gmu-bg-alt);
	border-radius: 12px;
	margin: 0 0 28px;
	list-style: none;
}

.gmu-product__trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--gmu-ink);
}

.gmu-product__trust li::before {
	content: "";
	width: 6px;
	height: 6px;
	background: var(--gmu-pink);
	border-radius: 50%;
	flex-shrink: 0;
}

.woocommerce div.product .product_meta {
	font-size: 12.5px;
	color: var(--gmu-ink-55);
	margin-bottom: 20px;
}

.woocommerce div.product .product_meta > span {
	display: block;
	margin-bottom: 4px;
}

/* Záložky */
.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	width: 100%;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 6px;
	border-bottom: 1px solid rgba(28, 22, 38, 0.1);
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	border-radius: 0;
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 16px;
	font-size: 13.5px;
	font-weight: 600;
	font-family: inherit;
	color: rgba(28, 22, 38, 0.5);
	border-bottom: 2px solid transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--gmu-ink);
	border-bottom-color: var(--gmu-pink);
}

.woocommerce div.product .woocommerce-tabs .panel {
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--gmu-ink-65);
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	display: none;
}

.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}

.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--gmu-line);
	text-align: left;
}

.woocommerce-product-attributes th {
	color: var(--gmu-ink);
	font-weight: 700;
	width: 200px;
}

.woocommerce-product-attributes td p {
	margin: 0;
}

/* Recenze */
#reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#reviews .commentlist li {
	padding: 16px;
	border: 1px solid var(--gmu-line);
	border-radius: 12px;
	margin: 0;
}

#reviews .comment_container {
	display: flex;
	gap: 14px;
}

#reviews .comment_container img.avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	position: static;
	padding: 0;
	border: none;
}

#reviews .comment-text {
	flex: 1;
	border: none;
	padding: 0;
	margin: 0;
}

#reviews .comment-text .star-rating {
	color: var(--gmu-pink);
	font-size: 13px;
	letter-spacing: 1px;
	margin: 0 0 8px;
	float: none;
}

#reviews .comment-text .meta {
	font-size: 13.5px;
	color: var(--gmu-ink);
	margin-bottom: 8px;
}

#reviews .comment-text .meta time,
#reviews .comment-text .woocommerce-review__published-date {
	font-size: 11px;
	color: var(--gmu-ink-45);
	font-weight: 400;
}

#reviews .comment-text p {
	font-size: 13px;
	line-height: 1.6;
	color: var(--gmu-ink-65);
	margin: 0;
}

#review_form_wrapper {
	margin-top: 28px;
}

#review_form .comment-reply-title {
	font-weight: 700;
	font-size: 14px;
	color: var(--gmu-ink);
	display: block;
	margin-bottom: 12px;
}

#review_form input[type="text"],
#review_form input[type="email"],
#review_form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 8px;
	font-family: inherit;
	font-size: 13px;
	margin-bottom: 12px;
}

#review_form .submit,
.woocommerce #respond input#submit {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 13.5px;
	padding: 12px 24px;
	border-radius: 9px;
	cursor: pointer;
	font-family: inherit;
}

/* Dlouhý popis "O tomto produktu" */
.gmu-longdesc {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 20px 32px 60px;
	border-top: 1px solid rgba(28, 22, 38, 0.08);
}

/* Sekce visí na hooku uvnitř div.product, což je dvousloupcový grid.
   Bez tohoto by spadla do levého sloupce a text by se stlačil na půlku. */
.woocommerce div.product .gmu-longdesc {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin-top: 40px;
}

.gmu-longdesc__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 56px;
	padding-top: 50px;
	align-items: start;
}

.gmu-longdesc__title {
	font-family: var(--gmu-font-display);
	font-size: 26px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 20px;
}

.gmu-longdesc__body {
	font-size: 14.5px;
	line-height: 1.75;
	color: rgba(28, 22, 38, 0.68);
}

.gmu-longdesc__body p {
	margin: 0 0 16px;
}

.gmu-longdesc__body > *:last-child {
	margin-bottom: 0;
}

.gmu-longdesc__body h1,
.gmu-longdesc__body h2,
.gmu-longdesc__body h3,
.gmu-longdesc__body h4 {
	font-family: var(--gmu-font-display);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.35;
	color: var(--gmu-ink);
	margin: 30px 0 12px;
}

.gmu-longdesc__body ul,
.gmu-longdesc__body ol {
	margin: 0 0 16px;
	padding-left: 20px;
}

.gmu-longdesc__body li {
	margin-bottom: 6px;
}

.gmu-longdesc__body img {
	border-radius: var(--gmu-radius-card);
	margin: 8px 0 20px;
}

/* Video a vložené přehrávače v popisu produktu.
   MediaElement (shortcode [video]) i blok videa nastavují šířku inline v px,
   proto to musí přebít !important, jinak přeteče sloupec. */
.gmu-longdesc__body video,
.gmu-longdesc__body iframe,
.gmu-longdesc__body .wp-video,
.gmu-longdesc__body .wp-block-video,
.gmu-longdesc__body .mejs-container {
	display: block;
	width: 100% !important;
	max-width: 100%;
	margin: 8px 0 20px;
	border-radius: var(--gmu-radius-card);
	overflow: hidden;
}

/* Videa na výšku by jinak zabrala půl obrazovky. */
.gmu-longdesc__body video,
.gmu-longdesc__body .wp-block-video video {
	height: auto;
	max-height: 70vh;
	object-fit: contain;
	background: #000;
}

.gmu-longdesc__body figure {
	margin: 8px 0 20px;
}

.gmu-longdesc__body figcaption {
	font-size: 12.5px;
	color: var(--gmu-ink-55);
	margin-top: 8px;
	text-align: center;
}

/* Vložená videa z YouTube a Vimea drží poměr 16:9. */
.gmu-longdesc__body .wp-embed-aspect-16-9 .wp-block-embed__wrapper,
.gmu-longdesc__body iframe {
	aspect-ratio: 16 / 9;
	height: auto;
	border: none;
}

.gmu-longdesc__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.gmu-tag {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--gmu-dark);
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.1);
	padding: 8px 14px;
	border-radius: 8px;
}

.gmu-longdesc__media {
	aspect-ratio: 4 / 5;
	border-radius: var(--gmu-radius-card);
	background: repeating-linear-gradient(135deg, #f1eef5 0 14px, #f8f6fa 14px 28px);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: sticky;
	top: 24px;
}

.gmu-longdesc__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Související produkty / upsell */
.woocommerce div.product .related,
.woocommerce div.product .upsells {
	grid-column: 1 / -1;
	max-width: var(--gmu-wrap);
	width: 100%;
	margin: 0 auto;
	padding: 60px 0 30px;
	border-top: 1px solid rgba(28, 22, 38, 0.08);
}

.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2 {
	font-family: var(--gmu-font-display);
	font-size: 26px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 36px 0 28px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce div.product .related > h2::before,
.woocommerce div.product .upsells > h2::before {
	content: "";
	width: 7px;
	height: 7px;
	background: var(--gmu-pink);
	transform: rotate(45deg);
	display: inline-block;
}

/* =========================================================
   14. Košík a pokladna
   ========================================================= */
.gmu-cart-page {
	max-width: 1160px;
	margin: 0 auto;
	padding: 36px 32px 90px;
}

.gmu-cart-page__title {
	font-family: var(--gmu-font-display);
	font-size: 28px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 30px;
}

.gmu-cart-layout {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 44px;
	align-items: start;
}

.gmu-cart-items {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gmu-cart-item {
	display: flex;
	gap: 16px;
	padding: 16px;
	border: 1px solid var(--gmu-line);
	border-radius: var(--gmu-radius-card);
	align-items: center;
	flex-wrap: wrap;
}

.gmu-cart-item__media {
	width: 84px;
	height: 84px;
	flex-shrink: 0;
	border-radius: var(--gmu-radius-sm);
	background: repeating-linear-gradient(135deg, #f1eef5 0 10px, #f8f6fa 10px 20px);
	overflow: hidden;
}

.gmu-cart-item__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gmu-cart-item__info {
	flex: 1;
	min-width: 140px;
}

.gmu-cart-item__name {
	font-weight: 700;
	font-size: 14.5px;
	color: var(--gmu-ink);
	margin-bottom: 4px;
}

.gmu-cart-item__name a {
	color: inherit;
}

.gmu-cart-item__name a:hover {
	color: var(--gmu-pink);
}

.gmu-cart-item__variant {
	font-size: 12px;
	color: rgba(28, 22, 38, 0.5);
}

.gmu-cart-item__variant:empty {
	display: none;
}

.gmu-cart-item__variant p,
.gmu-cart-item__variant dl {
	margin: 0;
}

.gmu-cart-item__variant dt,
.gmu-cart-item__variant dd {
	display: inline;
	margin: 0;
}

/* Křížek za cenou, ne textový odkaz. `!important` kvůli `color: red !important`
   ve woocommerce.css — jinak přebít nejde. Velikost 44 px kvůli dotyku. */
.gmu-cart-item__remove,
.woocommerce a.remove.gmu-cart-item__remove {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: none;
	border: 1px solid transparent;
	color: var(--gmu-ink-45) !important;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
	padding: 0;
}

.gmu-cart-item__remove:hover,
.woocommerce a.remove.gmu-cart-item__remove:hover {
	background: rgba(255, 70, 150, 0.1);
	border-color: rgba(255, 70, 150, 0.35);
	color: var(--gmu-pink) !important;
}

.gmu-cart-item__qty .quantity {
	flex-shrink: 0;
}

.gmu-cart-item__qty .gmu-qty-btn {
	width: 30px;
	height: 32px;
	font-size: 14px;
}

.gmu-cart-item__qty .quantity input.qty {
	width: 34px;
	height: 32px;
	font-size: 13px;
}

.gmu-cart-item__total {
	width: 80px;
	text-align: right;
	font-weight: 800;
	font-size: 15px;
	color: var(--gmu-dark);
	flex-shrink: 0;
}

.gmu-cart__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 18px;
	flex-wrap: wrap;
}

.gmu-cart__update {
	background: none;
	border: 1px solid var(--gmu-line-strong);
	color: var(--gmu-ink);
	font-size: 12.5px;
	font-weight: 600;
	padding: 9px 16px;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
}

/* Když běží JS, přepočítává se automaticky a tlačítko je zbytečné. */
.gmu-cart-form--auto .gmu-cart__update {
	display: none;
}

.gmu-cart__update:hover:not([disabled]) {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
}

.gmu-cart__update[disabled] {
	opacity: .45;
	cursor: default;
}

/* Cross-sells */
.gmu-crosssells {
	margin-top: 50px;
}

.gmu-crosssells > h2 {
	font-family: var(--gmu-font-display);
	font-size: 20px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 18px;
}

.gmu-crosssells ul.products {
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.gmu-crosssells ul.products li.product {
	border-radius: 12px;
}

.gmu-crosssells ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow: none;
}

.gmu-crosssells .gmu-card__body {
	padding: 11px;
}

.gmu-crosssells .gmu-card__title {
	font-size: 12.5px;
	margin-bottom: 8px;
}

.gmu-crosssells .gmu-card__price {
	font-size: 13.5px;
}

.gmu-crosssells ul.products li.product .button {
	width: 26px;
	height: 26px;
	min-width: 26px;
	border-radius: 7px;
	font-size: 13px;
	right: 11px;
	bottom: 11px;
}

.gmu-crosssells .gmu-card__foot {
	padding-right: 32px;
	min-height: 26px;
}

/* Shrnutí objednávky */
.gmu-summary {
	position: sticky;
	top: 24px;
	background: var(--gmu-bg-alt);
	border-radius: 16px;
	padding: 26px;
	border: 1px solid rgba(28, 22, 38, 0.08);
}

.gmu-summary h2,
.gmu-summary__title {
	font-family: var(--gmu-font-display);
	font-size: 19px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 18px;
}

.gmu-freeship {
	margin-bottom: 22px;
}

.gmu-freeship__row {
	display: flex;
	justify-content: space-between;
	font-size: 12.5px;
	color: var(--gmu-ink);
	margin-bottom: 8px;
	gap: 10px;
}

.gmu-freeship__bar {
	height: 7px;
	background: rgba(28, 22, 38, 0.09);
	border-radius: 6px;
	overflow: hidden;
}

.gmu-freeship__fill {
	height: 100%;
	background: linear-gradient(90deg, #ff4696, #1e1033);
	border-radius: 6px;
	transition: width .4s ease;
}

.gmu-summary table.shop_table,
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
	color: var(--gmu-ink);
	margin: 0 0 16px;
	border: none;
}

.gmu-summary table.shop_table th,
.gmu-summary table.shop_table td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 6px 0;
	border: none;
	text-align: left;
	font-weight: 400;
	color: var(--gmu-ink-65);
}

.gmu-summary table.shop_table td,
.woocommerce-checkout-review-order-table td {
	text-align: right;
	font-weight: 600;
	color: var(--gmu-ink);
}

.gmu-summary table.shop_table tr.order-total th,
.gmu-summary table.shop_table tr.order-total td,
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	padding-top: 14px;
	border-top: 1px solid rgba(28, 22, 38, 0.1);
	font-weight: 700;
	font-size: 14px;
	color: var(--gmu-ink);
}

.gmu-summary table.shop_table tr.order-total td .amount,
.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
	font-weight: 800;
	font-size: 22px;
	color: var(--gmu-dark);
}

.gmu-summary .shipping ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12.5px;
}

.gmu-coupon {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
}

.gmu-coupon input[type="text"] {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 8px;
	font-size: 12.5px;
	font-family: inherit;
}

.gmu-coupon button {
	background: var(--gmu-dark);
	color: #fff;
	border: none;
	font-weight: 700;
	font-size: 12.5px;
	padding: 10px 16px;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
}

.gmu-coupon button:hover {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
}

.gmu-summary .checkout-button,
.wc-proceed-to-checkout .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 15px;
	padding: 15px;
	border-radius: var(--gmu-radius-sm);
	cursor: pointer;
	font-family: inherit;
	box-shadow: 0 8px 22px rgba(255, 70, 150, 0.3);
	transition: transform .2s ease;
	display: block;
	text-align: center;
	margin-top: 20px;
}

.wc-proceed-to-checkout {
	padding: 0;
}

.gmu-summary .checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button.button:hover {
	transform: translateY(-2px);
	background: var(--gmu-pink);
	color: var(--gmu-dark);
}

.gmu-payment-chips {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
	flex-wrap: wrap;
}

.gmu-payment-chips span {
	font-size: 10.5px;
	color: var(--gmu-ink-55);
	border: 1px solid rgba(28, 22, 38, 0.12);
	padding: 4px 9px;
	border-radius: 6px;
}

/* Checkout formulář */
.woocommerce-checkout .gmu-cart-layout {
	grid-template-columns: 1.6fr 1fr;
}

/* Přepínače kupónu a přihlášení visí na hooku před naším kontejnerem,
   takže by se roztáhly přes celou šířku okna. */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce-checkout form.woocommerce-form-coupon,
.woocommerce-checkout form.woocommerce-form-login {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 32px;
}

.woocommerce-checkout form.woocommerce-form-coupon,
.woocommerce-checkout form.woocommerce-form-login {
	background: var(--gmu-bg-alt);
	border: 1px solid var(--gmu-line);
	border-radius: var(--gmu-radius-card);
	padding: 22px 24px;
	margin-top: 12px;
	margin-bottom: 20px;
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	margin: 20px 0 0;
}

/* --- Výpis položek ve shrnutí objednávky --- */
.woocommerce-checkout-review-order-table thead th {
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: var(--gmu-ink-45);
	font-weight: 700;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--gmu-line);
}

.woocommerce-checkout-review-order-table tbody td {
	padding: 10px 0;
	border-bottom: 1px solid rgba(28, 22, 38, 0.06);
	vertical-align: top;
}

/* Bez tohohle zdědí i název produktu zarovnání doprava a řádek se rozpadne. */
.woocommerce-checkout-review-order-table td.product-name {
	text-align: left;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--gmu-ink);
	padding-right: 12px;
}

.woocommerce-checkout-review-order-table td.product-name .product-quantity {
	display: inline;
	font-weight: 700;
	color: var(--gmu-pink);
	white-space: nowrap;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation {
	margin: 4px 0 0;
	font-size: 11.5px;
	font-weight: 400;
	color: var(--gmu-ink-55);
}

.woocommerce-checkout-review-order-table td.product-total {
	text-align: right;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 700;
	color: var(--gmu-dark);
}

/* Výdejní místa dopravců potřebují celou šířku, ne půlku tabulky. */
.woocommerce-checkout-review-order-table tr.shipping th,
.woocommerce-checkout-review-order-table tr.shipping td {
	display: block;
	width: 100%;
	text-align: left;
	padding: 6px 0;
	border-bottom: none;
}

.woocommerce-checkout-review-order-table tr.shipping {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--gmu-line);
}

.woocommerce-checkout-review-order-table tr.shipping ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.woocommerce-checkout-review-order-table tr.shipping ul#shipping_method li {
	margin: 0;
	font-size: 12.5px;
}

.woocommerce-checkout-review-order-table tr.shipping img {
	max-width: 140px;
	height: auto;
}

.woocommerce form .form-row {
	margin: 0 0 14px;
	padding: 0;
	display: block;
}

.woocommerce form .form-row label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--gmu-ink-65);
	margin-bottom: 6px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account form input.input-text,
.select2-container .select2-selection--single {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--gmu-line-strong);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	background: #fff;
	color: var(--gmu-ink);
	height: auto;
	line-height: 1.5;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	padding: 0;
	color: var(--gmu-ink);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 8px;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 8px);
	display: inline-block;
	vertical-align: top;
}

.woocommerce form .form-row-first {
	margin-right: 12px;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
	font-family: var(--gmu-font-display);
	font-size: 20px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 18px;
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 18px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border: none;
	padding: 0;
	margin: 0 0 14px;
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 8px;
	font-size: 13px;
}

.woocommerce-checkout #payment div.payment_box {
	background: transparent;
	font-size: 12.5px;
	color: var(--gmu-ink-55);
	padding: 8px 0 0;
	margin: 0;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment div.form-row.place-order {
	padding: 0;
}

.woocommerce #payment #place_order,
.woocommerce-checkout button#place_order {
	width: 100%;
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 15px;
	padding: 15px;
	border-radius: var(--gmu-radius-sm);
	cursor: pointer;
	font-family: inherit;
	box-shadow: 0 8px 22px rgba(255, 70, 150, 0.3);
	float: none;
	margin: 0;
}

/* Oznámení drží šířku obsahu, ne celou šířku okna. */
.woocommerce-notices-wrapper {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 0 32px;
}

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--gmu-bg-alt);
	border: 1px solid var(--gmu-line);
	border-top: 3px solid var(--gmu-pink);
	border-radius: var(--gmu-radius-sm);
	padding: 14px 18px;
	font-size: 13.5px;
	color: var(--gmu-ink);
	list-style: none;
	margin: 20px 0;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	max-width: var(--gmu-wrap);
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-message .button,
.woocommerce-info .button {
	background: var(--gmu-dark);
	color: #fff;
	border-radius: 8px;
	padding: 8px 16px;
	font-size: 12.5px;
	font-weight: 700;
	margin-left: auto;
	border: none;
	cursor: pointer;
}

.woocommerce-error {
	border-top-color: #d63638;
}

/* =========================================================
   14b. Děkovací stránka po objednávce
   ========================================================= */
.gmu-thankyou {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 32px 90px;
	font-size: 14px;
	color: var(--gmu-ink-70);
}

/* Kroky mají vlastní obal, uvnitř by se odsazení sečetlo. */
.gmu-thankyou .gmu-steps {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.gmu-thankyou h2,
.gmu-thankyou h3 {
	font-family: var(--gmu-font-display);
	font-size: 22px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 18px;
}

/* Potvrzení objednávky */
.gmu-thankyou .woocommerce-notice--success,
.gmu-thankyou .woocommerce-thankyou-order-received {
	display: block;
	background: var(--gmu-bg-alt);
	border: 1px solid var(--gmu-line);
	border-top: 3px solid var(--gmu-pink);
	border-radius: var(--gmu-radius-card);
	padding: 22px 24px;
	font-family: var(--gmu-font-display);
	font-size: 19px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 26px;
}

/* Přehled: číslo objednávky, datum, částka… jako dlaždice */
.gmu-thankyou ul.woocommerce-order-overview,
.gmu-thankyou ul.order_details {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
	gap: 14px;
	border: none;
}

.woocommerce .gmu-thankyou ul.order_details li,
.gmu-thankyou ul.woocommerce-order-overview li {
	float: none;
	margin: 0;
	padding: 15px 17px;
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-right: 1px solid var(--gmu-line);
	border-radius: 12px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--gmu-ink-45);
	line-height: 1.4;
}

.woocommerce .gmu-thankyou ul.order_details li strong,
.gmu-thankyou ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 7px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gmu-ink);
}

/* Rekapitulace objednávky a adresy */
.gmu-thankyou table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--gmu-line);
	border-radius: var(--gmu-radius-card);
	overflow: hidden;
	margin: 0 0 40px;
	font-size: 13.5px;
}

.gmu-thankyou table.shop_table th,
.gmu-thankyou table.shop_table td {
	padding: 14px 18px;
	border: none;
	border-bottom: 1px solid var(--gmu-line);
	text-align: left;
	vertical-align: top;
	color: var(--gmu-ink-70);
}

.gmu-thankyou table.shop_table thead th {
	background: var(--gmu-bg-alt);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--gmu-ink-45);
}

.gmu-thankyou table.shop_table th:last-child,
.gmu-thankyou table.shop_table td:last-child {
	text-align: right;
}

.gmu-thankyou table.shop_table tfoot th {
	font-weight: 700;
	color: var(--gmu-ink);
}

.gmu-thankyou table.shop_table tfoot tr:last-child th,
.gmu-thankyou table.shop_table tfoot tr:last-child td {
	border-bottom: none;
	background: var(--gmu-bg-alt);
}

.gmu-thankyou table.shop_table tfoot tr:last-child .amount {
	font-size: 19px;
	font-weight: 800;
	color: var(--gmu-dark);
}

.gmu-thankyou table.shop_table .amount {
	font-weight: 700;
	color: var(--gmu-ink);
}

/* Názvy produktů nejsou zvýrazněné odkazy, ať nekřičí přes celou tabulku. */
.gmu-thankyou table.shop_table a {
	color: var(--gmu-ink);
	font-weight: 600;
}

.gmu-thankyou table.shop_table a:hover {
	color: var(--gmu-pink);
}

.gmu-thankyou .wc-item-meta,
.gmu-thankyou .variation {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	font-size: 12px;
	color: var(--gmu-ink-55);
	font-weight: 400;
}

.gmu-thankyou .wc-item-meta p,
.gmu-thankyou .wc-item-meta strong {
	display: inline;
	margin: 0;
	font-weight: 600;
}

/* Adresy */
.gmu-thankyou .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin: 0;
}

.gmu-thankyou .woocommerce-column {
	width: auto;
	float: none;
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-radius: 12px;
	padding: 22px;
}

.gmu-thankyou .woocommerce-column__title {
	font-family: var(--gmu-font-body);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--gmu-ink);
	margin: 0 0 12px;
}

.gmu-thankyou address {
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.8;
	color: var(--gmu-ink-65);
	border: none;
	padding: 0;
	margin: 0;
}

.gmu-thankyou .woocommerce-customer-details--phone,
.gmu-thankyou .woocommerce-customer-details--email {
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--gmu-ink-65);
}

.gmu-thankyou .button,
.gmu-thankyou .woocommerce-button {
	display: inline-block;
	background: var(--gmu-dark);
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 12.5px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
}

.gmu-thankyou .button:hover,
.gmu-thankyou .woocommerce-button:hover {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
}

@media (max-width: 900px) {
	.gmu-thankyou {
		padding: 0 20px 60px;
	}

	.gmu-thankyou .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}

	.gmu-thankyou table.shop_table th,
	.gmu-thankyou table.shop_table td {
		padding: 12px 14px;
	}
}

/* =========================================================
   15. Můj účet
   ========================================================= */
.gmu-account {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 34px 32px 90px;
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 36px;
	align-items: start;
}

.gmu-account__user {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 6px 20px;
	border-bottom: 1px solid rgba(28, 22, 38, 0.08);
	margin-bottom: 14px;
}

.gmu-account__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
}

.gmu-account__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.gmu-account__name {
	font-weight: 700;
	font-size: 13.5px;
	color: var(--gmu-ink);
}

.gmu-account__id {
	font-size: 11.5px;
	color: var(--gmu-ink-45);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	text-align: left;
	border-left: 2px solid transparent;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: var(--gmu-ink-55);
}

.woocommerce-MyAccount-navigation li a:hover {
	color: var(--gmu-pink);
}

.woocommerce-MyAccount-navigation li.is-active a {
	color: var(--gmu-ink);
	border-left-color: var(--gmu-pink);
}

.woocommerce-MyAccount-content {
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--gmu-ink-70);
}

.woocommerce-MyAccount-content h2 {
	font-family: var(--gmu-font-display);
	font-size: 20px;
	font-weight: 600;
	color: var(--gmu-ink);
	margin: 0 0 20px;
}

.gmu-account__quicklinks {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	max-width: 560px;
	margin-top: 28px;
}

.gmu-account__quicklink {
	background: #fff;
	border: 1px solid rgba(28, 22, 38, 0.12);
	border-radius: var(--gmu-radius-sm);
	padding: 22px;
	font-size: 14px;
	font-weight: 700;
	color: var(--gmu-dark);
	text-align: center;
	transition: border-color .2s ease, transform .2s ease, color .2s ease;
}

.gmu-account__quicklink:hover {
	border-color: var(--gmu-pink);
	color: var(--gmu-pink);
	transform: translateY(-2px);
}

/* Objednávky */
.woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 12px;
	border: none;
	font-size: 13.5px;
}

.woocommerce-orders-table thead {
	display: none;
}

.woocommerce-orders-table tbody tr {
	background: #fff;
}

.woocommerce-orders-table tbody td {
	border: 1px solid rgba(28, 22, 38, 0.1);
	border-left: none;
	border-right: none;
	padding: 16px 12px;
	vertical-align: middle;
}

.woocommerce-orders-table tbody td:first-child {
	border-left: 1px solid rgba(28, 22, 38, 0.1);
	border-radius: 12px 0 0 12px;
	padding-left: 20px;
	font-weight: 700;
	color: var(--gmu-ink);
}

.woocommerce-orders-table tbody td:last-child {
	border-right: 1px solid rgba(28, 22, 38, 0.1);
	border-radius: 0 12px 12px 0;
	padding-right: 20px;
	text-align: right;
}

.woocommerce-orders-table td::before {
	content: attr(data-title) ": ";
	font-size: 11px;
	color: var(--gmu-ink-45);
	display: none;
}

.gmu-status,
.woocommerce-orders-table__cell-order-status {
	font-size: 11.5px;
	font-weight: 700;
	padding: 5px 11px;
	border-radius: var(--gmu-radius-pill);
	background: var(--gmu-bg-alt);
	color: var(--gmu-ink-65);
	display: inline-block;
}

.gmu-status--completed,
.gmu-status--delivered {
	background: var(--gmu-ok-bg);
	color: var(--gmu-ok);
}

.gmu-status--processing,
.gmu-status--on-hold {
	background: rgba(255, 70, 150, 0.12);
	color: var(--gmu-pink-dark);
}

.woocommerce-orders-table .woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-Button {
	font-size: 12.5px;
	font-weight: 600;
	border-bottom: 1.5px solid var(--gmu-pink);
	padding: 0 0 1px;
	background: none;
	border-top: none;
	border-left: none;
	border-right: none;
	color: var(--gmu-ink);
	cursor: pointer;
	white-space: nowrap;
}

.woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.woocommerce-MyAccount-content .woocommerce-Address {
	background: #fff;
	border: 1px solid rgba(28, 22, 38, 0.1);
	border-radius: 12px;
	padding: 22px;
	width: auto;
	float: none;
}

.woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	font-size: 13.5px;
	font-family: var(--gmu-font-body);
	font-weight: 700;
	color: var(--gmu-ink);
	margin: 0;
}

.woocommerce-MyAccount-content address {
	font-size: 13px;
	line-height: 1.7;
	color: var(--gmu-ink-65);
	font-style: normal;
}

.woocommerce-EditAccountForm {
	max-width: 560px;
}

.woocommerce-EditAccountForm fieldset {
	border: none;
	border-top: 1px solid rgba(28, 22, 38, 0.1);
	padding: 10px 0 0;
	margin: 20px 0;
}

.woocommerce-EditAccountForm legend {
	font-weight: 700;
	font-size: 13px;
	color: var(--gmu-ink);
	padding: 0;
	margin-bottom: 12px;
}

.woocommerce-EditAccountForm button,
.woocommerce-MyAccount-content .button {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 13.5px;
	padding: 12px 24px;
	border-radius: 9px;
	cursor: pointer;
	font-family: inherit;
	display: inline-block;
}

/* Login / register */
.gmu-account--auth {
	display: block;
	max-width: 900px;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: var(--gmu-bg-alt);
	border: 1px solid rgba(28, 22, 38, 0.08);
	border-radius: var(--gmu-radius-card);
	padding: 28px;
}

.woocommerce-account .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 {
	width: auto;
	float: none;
}

/* =========================================================
   16. Patička
   ========================================================= */
.gmu-footer {
	background: var(--gmu-dark);
	padding: 60px 32px 28px;
}

.gmu-footer__grid {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.4fr 1.2fr;
	gap: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--gmu-line-dark);
}

.gmu-footer__logo {
	font-family: var(--gmu-font-display);
	font-weight: 700;
	font-size: 20px;
	color: var(--gmu-light);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.gmu-footer__logo .gmu-logo__mark {
	width: 9px;
	height: 9px;
	box-shadow: none;
}

.gmu-footer__blurb {
	font-size: 13px;
	line-height: 1.6;
	color: rgba(244, 241, 248, 0.55);
	max-width: 280px;
	margin: 0;
}

.gmu-footer__title {
	font-weight: 700;
	font-size: 13px;
	color: var(--gmu-light);
	margin-bottom: 14px;
	letter-spacing: .3px;
}

.gmu-footer__links,
.gmu-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.gmu-footer__col a {
	font-size: 13px;
	color: rgba(244, 241, 248, 0.6);
}

.gmu-footer__col a:hover {
	color: var(--gmu-pink);
}

/* --- Kontakt --- */
.gmu-footer__contact {
	margin-top: 22px;
}

.gmu-footer__contact-name {
	font-size: 13px;
	font-weight: 600;
	color: rgba(244, 241, 248, 0.75);
	margin-bottom: 6px;
}

.gmu-footer__contact-link {
	display: block;
	font-size: 13px;
	color: rgba(244, 241, 248, 0.6);
	margin-bottom: 4px;
	width: fit-content;
}

.gmu-footer__contact-link:hover {
	color: var(--gmu-pink);
}

/* --- Dokumenty --- */
.gmu-footer__doc {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	line-height: 1.4;
}

.gmu-footer__doc-tag {
	flex-shrink: 0;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .4px;
	color: rgba(244, 241, 248, 0.45);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	padding: 1px 4px;
}

.gmu-footer__doc:hover .gmu-footer__doc-tag {
	color: var(--gmu-pink);
	border-color: rgba(255, 70, 150, 0.4);
}

.gmu-newsletter {
	display: flex;
	gap: 8px;
}

.gmu-newsletter input {
	flex: 1;
	min-width: 0;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	padding: 9px 12px;
	color: var(--gmu-light);
	font-size: 12.5px;
	font-family: inherit;
	outline: none;
}

.gmu-newsletter input::placeholder {
	color: rgba(244, 241, 248, 0.45);
}

.gmu-newsletter button {
	background: var(--gmu-pink);
	color: var(--gmu-dark);
	border: none;
	font-weight: 700;
	font-size: 12.5px;
	padding: 9px 14px;
	border-radius: 8px;
	cursor: pointer;
	font-family: inherit;
	white-space: nowrap;
}

.gmu-footer__bottom {
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding-top: 22px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

.gmu-footer__bottom span {
	font-size: 12px;
	color: rgba(244, 241, 248, 0.4);
}

/* =========================================================
   17. Obsahové stránky / blog
   ========================================================= */
.gmu-page {
	max-width: 820px;
	margin: 0 auto;
	padding: 50px 32px 80px;
	font-size: 15px;
	line-height: 1.75;
	color: var(--gmu-ink-70);
}

.gmu-page h1,
.gmu-page h2,
.gmu-page h3 {
	color: var(--gmu-ink);
}

.gmu-page h1 {
	font-size: 32px;
	margin: 0 0 24px;
}

.gmu-page img {
	border-radius: var(--gmu-radius-card);
}

.gmu-postlist {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 26px;
	max-width: var(--gmu-wrap);
	margin: 0 auto;
	padding: 50px 32px 80px;
}

.gmu-postcard {
	background: #fff;
	border: 1px solid var(--gmu-line);
	border-radius: var(--gmu-radius-card);
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease;
}

.gmu-postcard:hover {
	transform: translateY(-6px);
	box-shadow: var(--gmu-shadow-card);
}

.gmu-postcard__body {
	padding: 20px;
}

.gmu-postcard__title {
	font-size: 16px;
	margin: 0 0 8px;
}

.gmu-postcard__meta {
	font-size: 12px;
	color: var(--gmu-ink-45);
	margin-bottom: 10px;
}

/* =========================================================
   18. Responzivita
   ========================================================= */
/* Přepínač filtrů se objevuje jen na úzkém displeji (zapíná ho theme.js). */
.gmu-filters-toggle {
	display: none;
}

@media (max-width: 1100px) {
	/* Pět sloupců je na tabletu moc — dva jsou čitelnější. */
	.gmu-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}

	.gmu-shop {
		grid-template-columns: 1fr;
	}

	.gmu-filters {
		position: static;
	}

	.gmu-filters-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
		min-height: 48px;
		padding: 12px 18px;
		background: var(--gmu-bg-alt);
		border: 1px solid var(--gmu-line);
		border-radius: var(--gmu-radius-card);
		color: var(--gmu-ink);
		font-family: inherit;
		font-size: 13.5px;
		font-weight: 700;
		cursor: pointer;
	}

	.gmu-filters-toggle[hidden] {
		display: none;
	}

	.gmu-filters-toggle::after {
		content: "";
		width: 0;
		height: 0;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid var(--gmu-pink);
		transition: transform .2s ease;
	}

	.gmu-filters-toggle[aria-expanded="true"]::after {
		transform: rotate(180deg);
	}

	.gmu-filters.is-collapsible:not(.is-open) {
		display: none;
	}

	.gmu-filters.is-collapsible.is-open {
		margin-top: 12px;
	}

	.gmu-cart-layout,
	.woocommerce-checkout .gmu-cart-layout {
		grid-template-columns: 1fr;
	}

	.gmu-summary {
		position: static;
	}

	.gmu-account {
		grid-template-columns: 1fr;
	}

	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
	}

	.woocommerce-MyAccount-navigation li a {
		border-left: none;
		border-bottom: 2px solid transparent;
		padding: 10px 12px;
	}

	.woocommerce-MyAccount-navigation li.is-active a {
		border-bottom-color: var(--gmu-pink);
	}

	.woocommerce div.product,
	.gmu-longdesc__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.gmu-crosssells ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 900px) {
	.gmu-wrap,
	.gmu-section,
	.gmu-shop,
	.gmu-cart-page,
	.gmu-account,
	.gmu-promo,
	.gmu-single,
	.gmu-longdesc,
	.woocommerce div.product {
		padding-left: 20px;
		padding-right: 20px;
	}

	.gmu-header__bar {
		display: flex;
		padding: 14px 20px;
		flex-wrap: wrap;
		gap: 14px;
	}

	.gmu-search {
		order: 3;
		flex-basis: 100%;
		max-width: none;
	}

	.gmu-header__actions {
		margin-left: auto;
	}

	.gmu-nav-toggle {
		display: inline-flex;
	}

	.gmu-nav {
		padding: 10px 20px 12px;
	}

	/* Celoobrazovkový panel */
	.gmu-nav__menu {
		position: fixed;
		inset: 0;
		z-index: 200;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: var(--gmu-dark);
		padding: 68px 20px 40px;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.gmu-nav.is-open .gmu-nav__menu {
		display: flex;
	}

	.gmu-nav.is-open .gmu-nav__close {
		position: fixed;
		top: 12px;
		right: 14px;
		z-index: 201;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.18);
		border-radius: 50%;
		background: none;
		color: var(--gmu-light);
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
	}

	.gmu-nav__menu > li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.gmu-nav__menu > li > a {
		padding: 15px 44px 15px 0;
		font-size: 15.5px;
		color: var(--gmu-light);
	}

	/* Šipka z desktopu je tu zbytečná, rozbaluje se tlačítkem. */
	.gmu-nav__menu > li.menu-item-has-children > a::after {
		display: none;
	}

	.gmu-nav__expand {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 4px;
		right: 0;
		width: 44px;
		height: 44px;
		padding: 0;
		background: none;
		border: none;
		cursor: pointer;
	}

	.gmu-nav__expand::after {
		content: "";
		width: 0;
		height: 0;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid var(--gmu-light-75);
		transition: transform .2s ease;
	}

	.gmu-nav__menu > li.is-expanded .gmu-nav__expand::after {
		transform: rotate(180deg);
		border-top-color: var(--gmu-pink);
	}

	/* Podkategorie sbalené, otevře je až tlačítko. */
	.gmu-nav__menu .sub-menu {
		position: static;
		transform: none;
		display: none;
		padding: 0 0 10px 14px;
		min-width: 0;
		box-shadow: none;
	}

	/* Desktopové otevírání hoverem tu musíme vypnout: media query specificitu
	   nezvyšuje, takže by pravidlo :hover jinak přebilo sbalení — a na dotyku
	   hover „zůstává viset“ po klepnutí. */
	.gmu-nav__menu li.menu-item-has-children:hover > .sub-menu,
	.gmu-nav__menu li.menu-item-has-children:focus-within > .sub-menu {
		display: none;
	}

	/* Stejná specificita jako pravidlo výše, ale později v souboru → vyhraje. */
	.gmu-nav__menu > li.menu-item-has-children.is-expanded > .sub-menu {
		display: block;
	}

	.gmu-nav__menu .sub-menu::before {
		display: none;
	}

	.gmu-nav__menu .sub-menu a {
		font-size: 14px;
		padding: 11px 10px;
	}

	.gmu-hero {
		padding: 48px 20px 72px;
	}

	.gmu-hero__title {
		font-size: 32px;
	}

	/* Na úzkém displeji by vizuál v pravé polovině zakryl text — vrátíme ho
	   do toku pod obsah, s rámečkem jako v původním návrhu. */
	.gmu-hero__media {
		position: static;
		width: 100%;
		margin-top: 30px;
	}

	.gmu-hero__copy {
		flex: 1 1 100%;
		max-width: none;
	}

	.gmu-hero__image {
		aspect-ratio: 4 / 3;
		height: auto;
		border-radius: 16px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		-webkit-mask-image: none;
		mask-image: none;
	}

	.gmu-promo,
	.gmu-testimonials,
	.gmu-process,
	.gmu-stats__grid,
	.gmu-footer__grid,
	.gmu-account__quicklinks,
	.woocommerce-MyAccount-content .woocommerce-Addresses,
	.woocommerce-account .col2-set {
		grid-template-columns: 1fr;
	}

	.gmu-process::before {
		display: none;
	}

	.gmu-stats__item:nth-child(2) {
		border: none;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		padding: 20px 0;
	}

	.gmu-pagehero__title {
		font-size: 26px;
	}

	.gmu-section {
		padding-top: 46px;
	}

	.gmu-section--alt {
		margin-top: 46px;
		padding: 46px 20px;
	}

	ul.products,
	ul.products.columns-4,
	ul.products.columns-3 {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 16px;
	}

	.gmu-cat-tiles,
	.gmu-cat-tiles--sm {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 14px;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100%;
		margin-right: 0;
	}

	.gmu-cart-item__total {
		width: auto;
	}

	.woocommerce-orders-table tbody td {
		display: block;
		border: none;
		padding: 4px 20px;
		text-align: left;
	}

	.woocommerce-orders-table tbody tr {
		display: block;
		border: 1px solid rgba(28, 22, 38, 0.1);
		border-radius: 12px;
		padding: 12px 0;
		margin-bottom: 12px;
	}

	.woocommerce-orders-table tbody td:first-child,
	.woocommerce-orders-table tbody td:last-child {
		border: none;
		border-radius: 0;
		text-align: left;
	}

	.woocommerce-orders-table td::before {
		display: inline;
	}

	.gmu-minicart {
		right: -20px;
		width: 280px;
	}
}

@media (max-width: 560px) {
	.gmu-hero__title {
		font-size: 27px;
	}

	/* Ve dvou sloupcích je na název málo místa — radši tři řádky než „Krabičk…“. */
	.gmu-card__body {
		padding: 12px 12px 14px;
	}

	.gmu-card__title {
		font-size: 13px;
	}

	.gmu-card__title a {
		-webkit-line-clamp: 3;
		line-clamp: 3;
		min-height: 0;
	}

	.gmu-card__foot {
		padding-right: 42px;
	}

	.woocommerce ul.products li.product .button,
	ul.products li.product .button,
	.gmu-card__add {
		right: 12px;
		bottom: 14px;
	}

	/* Pohodlnější dotyk u stepperu množství. */
	.gmu-qty-btn {
		width: 42px;
		height: 44px;
	}

	.woocommerce .quantity input.qty {
		height: 44px;
	}

	.gmu-countdown {
		gap: 10px;
		padding: 10px 12px;
	}

	.gmu-crosssells ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.gmu-cta-banner__inner {
		padding: 28px 22px;
	}

	.gmu-header__actions {
		gap: 12px;
	}

	.gmu-action {
		font-size: 0;
		gap: 0;
	}

	.gmu-action svg {
		font-size: 13.5px;
	}
}
