/* =====================================================================
   Marketing redesign 2026 — hlavička + hlavní banner
   Načítá se pouze při aktivním ?mkt_redesign (body.mkt-redesign).
   ===================================================================== */

body.mkt-redesign {
	--ah-ink: #0d0d0d;
	--ah-ink-2: #262626;
	--ah-paper: #fff;
	--ah-soft: #f4f4f4;
	--ah-line: #ebebeb;
	--ah-muted: #707070;
	--ah-sale: #d6202a;
	--ah-skew: -12deg;
	--ah-max: 1360px;
	--ah-pad: 32px;
	--ah-brand: #00aaaa;
	--ah-brand-dark: #008f8f;
}

html { overflow-x: clip; }

.ah, .ah *, .ah-drawer, .ah-drawer * { box-sizing: border-box; }

.ah {
	position: relative;
	z-index: 1000;
	font-family: Roboto, system-ui, sans-serif;
	color: var(--ah-ink);
	background: var(--ah-paper);
}

.ah a { color: inherit; text-decoration: none; }
.ah a:hover, .ah a:focus { text-decoration: none; }
.ah button { font-family: inherit; }

.ah svg,
.ah-drawer svg {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ah-wrap {
	max-width: var(--ah-max);
	margin: 0 auto;
	padding: 0 var(--ah-pad);
}

/* ---------------------------------------------------------------------
   1) Topbar
   --------------------------------------------------------------------- */
.ah-bar {
	position: relative;
	z-index: 70;
	background: var(--ah-ink);
	color: #fff;
	font-size: 13px;
}

.ah-bar-in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 46px;
}

/* jazyk */
.ah-lang { position: relative; }

.ah-lang-btn {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, .88);
	font: 500 13px/1 Roboto, sans-serif;
	cursor: pointer;
}

.ah-lang-btn:hover,
.ah-lang.open .ah-lang-btn { color: #fff; }
.ah-lang-btn:focus { outline: none; }
.ah-lang-btn:focus-visible { outline: 2px solid rgba(255, 255, 255, .6); outline-offset: 3px; }

.ah-lang img {
	display: block;
	width: 16px;
	height: auto;
	border-radius: 2px;
}

.ah-lang-btn svg {
	width: 11px;
	height: 11px;
	stroke-width: 2.2;
	opacity: .7;
	transition: transform .2s;
}

.ah-lang.open .ah-lang-btn svg { transform: rotate(180deg); }

.ah .ah-lang-menu {
	top: calc(100% + 6px);
	left: -12px;
	min-width: 170px;
	margin: 0;
	padding: 6px;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .05);
	list-style: none;
}

.ah .ah-lang-menu > li > a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 6px;
	color: var(--ah-ink);
	font: 500 13.5px/1 Roboto, sans-serif;
	white-space: nowrap;
}

.ah .ah-lang-menu > li > a small {
	margin-left: auto;
	padding-left: 12px;
	color: var(--ah-muted);
	font-size: 12.5px;
	font-weight: 400;
}

.ah .ah-lang-menu > li > a:hover,
.ah .ah-lang-menu > li.active > a {
	background: var(--ah-soft);
	color: var(--ah-ink);
}

/* tyrkysový blok "Chceš vlastní design?" */
.ah-bar-right {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ah-zv {
	position: relative;
	margin-right: 6px;
}

.ah-cta {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 34px;
	padding: 0 18px 0 32px; /* víc místa mezi zkosením (30 px) a ikonou trika */
	color: #fff !important;
	isolation: isolate;
}

.ah-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -6px;
	bottom: -6px;
	left: -6px;
	right: calc(-1 * (max(0px, (100vw - var(--ah-max)) / 2) + var(--ah-pad) + 6px));
	background: var(--ah-brand);
	/* stejný sklon jako ořez popupu: 56,8° od vodorovné, výška bloku 46 px */
	clip-path: polygon(calc(46px / tan(56.8deg)) 0, 100% 0, 100% 100%, 0 100%);
	transition: background .2s;
}

.ah-zv:hover .ah-cta::before,
.ah-zv:focus-within .ah-cta::before { background: var(--ah-brand-dark); }

.ah-cta-ico svg { width: 20px; height: 20px; stroke-width: 1.5; }

.ah-cta-t1 {
	font: italic 700 13.5px/1 Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: .03em;
	white-space: nowrap;
}

.ah-cta-arr svg {
	width: 14px;
	height: 14px;
	stroke-width: 2.2;
	transition: transform .2s;
}

.ah-zv:hover .ah-cta-arr svg { transform: translateX(3px); }

/* popup */
.ah-panel {
	position: absolute;
	z-index: 60;
	right: 0;
	top: calc(100% + 10px);
	width: 440px; /* +40 px za zdvojnásobený vodorovný padding, pravý okraj zůstává */
	color: var(--ah-ink);
	font-size: 14px;
	/* stín na obálce — clip-path ve vnitřním prvku by ho jinak uřízl */
	filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .14)) drop-shadow(0 0 1px rgba(0, 0, 0, .25));
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s, transform .2s, visibility 0s linear .2s;
}

.ah-panel::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -16px;
	height: 16px;
}

.ah-zv:hover .ah-panel,
.ah-zv:focus-within .ah-panel {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

/* Ořez rohu vpravo dole dle brand manuálu: sklon 56,8°, 76 × 116,14 px (šířka·tan 56,8°). Oba konce ořezu zaoblené stejně (14 px), ostatní rohy 10 px.
   Polygon vygenerován skriptem (oblouky po 10 bodech); při změně rozměrů ho přegenerovat.
   Tlačítko se zkracuje zprava (margin-right níže), aby ho ořez neuseknul. */
.ah-panel-in {
	overflow: hidden;
	background: #fff;
	clip-path: polygon(0px 10px,
		0.12px 8.44px,
		0.49px 6.91px,
		1.09px 5.46px,
		1.91px 4.12px,
		2.93px 2.93px,
		4.12px 1.91px,
		5.46px 1.09px,
		6.91px 0.49px,
		8.44px 0.12px,
		10px 0px,
		calc(100% - 10px) 0px,
		calc(100% - 8.44px) 0.12px,
		calc(100% - 6.91px) 0.49px,
		calc(100% - 5.46px) 1.09px,
		calc(100% - 4.12px) 1.91px,
		calc(100% - 2.93px) 2.93px,
		calc(100% - 1.91px) 4.12px,
		calc(100% - 1.09px) 5.46px,
		calc(100% - 0.49px) 6.91px,
		calc(100% - 0.12px) 8.44px,
		calc(100% - 0px) 10px,
		calc(100% - 0px) calc(100% - 120.31px),
		calc(100% - 0.02px) calc(100% - 119.5px),
		calc(100% - 0.09px) calc(100% - 118.69px),
		calc(100% - 0.21px) calc(100% - 117.89px),
		calc(100% - 0.37px) calc(100% - 117.1px),
		calc(100% - 0.58px) calc(100% - 116.31px),
		calc(100% - 0.84px) calc(100% - 115.54px),
		calc(100% - 1.14px) calc(100% - 114.79px),
		calc(100% - 1.48px) calc(100% - 114.05px),
		calc(100% - 1.86px) calc(100% - 113.34px),
		calc(100% - 2.29px) calc(100% - 112.65px),
		calc(100% - 71.86px) calc(100% - 6.33px),
		calc(100% - 72.67px) calc(100% - 5.21px),
		calc(100% - 73.59px) calc(100% - 4.18px),
		calc(100% - 74.62px) calc(100% - 3.24px),
		calc(100% - 75.72px) calc(100% - 2.4px),
		calc(100% - 76.91px) calc(100% - 1.68px),
		calc(100% - 78.16px) calc(100% - 1.09px),
		calc(100% - 79.47px) calc(100% - 0.61px),
		calc(100% - 80.81px) calc(100% - 0.27px),
		calc(100% - 82.18px) calc(100% - 0.07px),
		calc(100% - 83.57px) calc(100% - 0px),
		10px calc(100% - 0px),
		8.44px calc(100% - 0.12px),
		6.91px calc(100% - 0.49px),
		5.46px calc(100% - 1.09px),
		4.12px calc(100% - 1.91px),
		2.93px calc(100% - 2.93px),
		1.91px calc(100% - 4.12px),
		1.09px calc(100% - 5.46px),
		0.49px calc(100% - 6.91px),
		0.12px calc(100% - 8.44px),
		0px calc(100% - 10px));
}

.ah-panel-img {
	position: relative;
	display: block;
	height: 170px;
	background: #222 center 30% / cover no-repeat;
}

.ah-panel-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .65));
}

.ah-panel-img span {
	position: absolute;
	z-index: 1;
	left: 40px;
	bottom: 32px;
	color: #fff;
	font: italic 700 24px/1.05 Roboto, sans-serif;
	text-transform: uppercase;
}

.ah-panel-body { padding: 36px 40px 40px; }

.ah-panel-body p {
	margin: 0 0 14px;
	color: #3a3a3a;
	font-size: 14.5px;
	line-height: 1.5;
}

.ah-panel-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 14px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.ah-panel-list li {
	position: relative;
	padding-left: 16px;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

.ah-panel-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ah-ink);
}

.ah-panel-btn {
	display: flex;
	margin-right: 58px; /* ořez vpravo dole (76 px) by tlačítko useknul */
	align-items: center;
	justify-content: space-between;
	height: 48px;
	padding: 0 18px;
	border-radius: 6px;
	background: var(--ah-ink);
	color: #fff !important;
	font: italic 700 14px/1 Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: .03em;
	transition: background .15s;
}

.ah-panel-btn:hover { background: var(--ah-ink-2); }
.ah-panel-btn svg { width: 16px; height: 16px; stroke-width: 2.2; }

/* ---------------------------------------------------------------------
   2) Hlavní řádek: logo, vyhledávání, telefon, účet, košík
   --------------------------------------------------------------------- */
.ah-main {
	position: relative;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 28px;
	height: 84px;
}

.ah-logo { flex: 0 0 auto; }

.ah-logo img {
	display: block;
	width: auto;
	height: 44px;
	filter: invert(1);
}

.ah .ah-search {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 560px;
	height: 46px;
	margin: 0;
	padding: 0 18px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	background: var(--ah-soft);
	transition: border-color .15s, background .15s;
	float: none;
}

.ah .ah-search:focus-within {
	border-color: var(--ah-ink);
	background: #fff;
}

.ah .ah-search .button-search {
	position: static;
	flex: 0 0 auto;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ah-muted);
	cursor: pointer;
}

.ah .ah-search .button-search svg { width: 19px; height: 19px; }

.ah .ah-search input[name="search"] {
	flex: 1;
	min-width: 0;
	width: auto;
	height: 100%;
	margin: 0;
	padding: 0 9px;
	border: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ah-ink);
	font: 400 15px Roboto, sans-serif;
}

.ah .ah-search input[name="search"]::placeholder { color: #8d8d8d; opacity: 1; }

/* Plachetka našeptávače (ase-search.js) — na desktopu min. 1100 px, max. šířka z ase-search.css (75vw) zůstává;
   přetečení přes pravý okraj ošetřuje mkt_redesign.js (fitSuggest) */
@media (min-width: 992px) {
	.ah .ase-search__dropdown { min-width: 1100px; max-width: max(75vw, 1100px); }
}

.ah .ah-search .autocomplete-results {
	position: absolute;
	z-index: 80;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
}

.ah-right {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.ah-phone {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 14px 0 4px;
}

.ah-phone-ico {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ah-soft);
	transition: background .15s, color .15s;
}

.ah-phone-ico svg { width: 19px; height: 19px; transform: translateX(1.8px); }
.ah-phone:hover .ah-phone-ico { background: var(--ah-ink); color: #fff; }

.ah-phone-txt {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}

.ah-phone-txt small { color: var(--ah-muted); font-size: 12px; }

.ah-phone-txt b {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .01em;
	white-space: nowrap;
}

.ah-icon {
	position: relative;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: inherit;
	cursor: pointer;
	transition: background .15s;
}

.ah-icon:hover { background: var(--ah-soft); }
.ah-icon svg { width: 23px; height: 23px; }

.ah-burger { display: none; }

/* košík — vzhled zůstává z cart_2021 (#top #cart_block), jen ukotvení v řádku */
.ah .ah-cart {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.ah .ah-cart #cart_block {
	float: none;
	position: relative;
	margin: 0;
	padding: 0;
}

/* ---------------------------------------------------------------------
   3) Hlavní menu
   --------------------------------------------------------------------- */
.ah-nav {
	position: relative;
	z-index: 40;
	border-top: 1px solid var(--ah-line);
	border-bottom: 1px solid var(--ah-line);
	background: #fff;
}

.ah-nav-in {
	display: flex;
	align-items: center;
	height: 54px;
}

.ah .ah-nav-main,
.ah .ah-nav-main .megamenu-background,
.ah .ah-nav-main .overflow-megamenu,
.ah .ah-nav-main .container-megamenu,
.ah .ah-nav-main .megamenu-wrapper,
.ah .ah-nav-main .megamenu-pattern,
.ah .ah-nav-main .megamenu-pattern > .container {
	position: static !important;
	width: auto;
	max-width: none;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	background: none !important;
	box-shadow: none;
}

.ah .ah-nav-main { flex: 0 1 auto; min-width: 0; }

.ah .ah-nav-main .megaMenuToggle,
.ah .ah-nav-main .side-menu-close,
.ah .ah-mpanel-head { display: none; }

.ah .ah-nav-main ul.megamenu {
	display: flex;
	align-items: stretch;
	gap: 4px;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ah .ah-nav-main ul.megamenu > li {
	position: static !important;
	display: flex;
	float: none;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.ah .ah-nav-main ul.megamenu > li.mobile-only,
.ah .ah-nav-main ul.megamenu > li.lang_li { display: none !important; }

.ah .ah-nav-main ul.megamenu > li > .close-menu,
.ah .ah-nav-main ul.megamenu > li > .open-menu { display: none !important; }

.ah .ah-nav-main ul.megamenu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 0 !important;
	background: none !important;
	color: var(--ah-ink);
	font: 500 15px/1 Roboto, sans-serif;
	text-transform: none;
	white-space: nowrap;
}

.ah .ah-nav-main ul.megamenu > li:first-child > a { padding-left: 0 !important; }

.ah .ah-nav-main ul.megamenu > li > a > span,
.ah .ah-nav-main ul.megamenu > li > a strong {
	display: inline;
	margin: 0;
	padding: 0;
	color: inherit !important;
	font: inherit;
	text-decoration: none !important;
}

.ah .ah-nav-main ul.megamenu > li > a::before,
.ah .ah-nav-main ul.megamenu > li > a strong::after,
.ah .ah-nav-main ul.megamenu > li > a strong::before { display: none !important; }

.ah .ah-nav-main ul.megamenu > li > a .ah-chev {
	width: 13px;
	height: 13px;
	stroke-width: 2.2;
	color: #9a9a9a;
	transition: transform .2s, color .2s;
}

.ah .ah-nav-main ul.megamenu > li > a::after {
	content: "";
	display: block !important;
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: -1px;
	height: 3px;
	border: 0;
	background: var(--ah-ink);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s;
}

.ah .ah-nav-main ul.megamenu > li:first-child > a::after { left: 0; }

.ah .ah-nav-main ul.megamenu > li > a:hover::after,
.ah .ah-nav-main ul.megamenu > li.active > a::after { transform: scaleX(1); }

.ah .ah-nav-main ul.megamenu > li > a:hover .ah-chev,
.ah .ah-nav-main ul.megamenu > li.active > a .ah-chev {
	color: var(--ah-ink);
	transform: rotate(180deg);
}

.ah .ah-nav-main ul.megamenu > li > a.ah-sale { color: var(--ah-sale); }
.ah .ah-nav-main ul.megamenu > li > a.ah-sale::after { background: var(--ah-sale); }

/* plachetka — stejný obsah i styl jako dosud, jen ukotvená pod novou navigaci */
.ah .ah-nav-main ul.megamenu > li > a { z-index: 2; }

.ah .ah-nav-main ul.megamenu > li > .sub-menu {
	z-index: 1 !important;
	top: calc(100% - 17px) !important;
	left: 0 !important;
	right: auto !important;
	width: 100% !important;
	max-width: none;
	height: auto;
	margin: 0 !important;
}

/* aside: Blog, Kontakt, Menu */
.ah-nav-aside {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 24px;
	margin-left: auto;
	padding-left: 24px;
	color: var(--ah-ink);
	font-size: 14px;
	font-weight: 500;
}

.ah .ah-nav-link:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.ah-more {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 36px;
	padding: 0 14px;
	border: 1.5px solid var(--ah-ink);
	border-radius: 6px;
	background: none;
	color: var(--ah-ink);
	font: 600 14px/1 Roboto, sans-serif;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.ah-more svg { width: 18px; height: 18px; stroke-width: 2; }

.ah-more:hover,
.ah-more[aria-expanded="true"] {
	background: var(--ah-ink);
	color: #fff;
}

/* ---------------------------------------------------------------------
   4) Boční menu (tlačítko Menu)
   --------------------------------------------------------------------- */
.ah-drawer {
	position: fixed;
	z-index: 10050;
	inset: 0;
	visibility: hidden;
	pointer-events: none;
	font-family: Roboto, system-ui, sans-serif;
	color: var(--ah-ink);
}

.ah-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.ah-drawer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(13, 13, 13, .45);
	opacity: 0;
	transition: opacity .25s;
}

.ah-drawer.is-open .ah-drawer-backdrop { opacity: 1; }

.ah-drawer-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: 400px;
	max-width: 100%;
	overflow-y: auto;
	background: #fff;
	box-shadow: -24px 0 60px rgba(0, 0, 0, .18);
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}

.ah-drawer.is-open .ah-drawer-panel { transform: none; }

.ah-drawer-head {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	height: 64px;
	padding: 0 18px 0 28px;
	background: var(--ah-ink);
	color: #fff;
}

.ah-drawer-title {
	font: italic 700 18px/1 Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ah-drawer-close {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: #fff;
	cursor: pointer;
	transition: background .15s;
}

.ah-drawer-close:hover { background: rgba(255, 255, 255, .12); }
.ah-drawer-close svg { width: 22px; height: 22px; stroke-width: 2; }

.ah-drawer-user {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 28px;
	border-bottom: 1px solid var(--ah-line);
	background: var(--ah-soft);
}

.ah-drawer-user a { color: var(--ah-ink); text-decoration: none; }

.ah-drawer-user-name {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	font-weight: 700;
}

.ah-drawer-user-ico {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
}

.ah-drawer-user-ico svg { width: 19px; height: 19px; }

.ah-drawer-user-points {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding-left: 48px;
	font-size: 13.5px;
	font-weight: 500;
}

.ah-drawer-user-level {
	padding: 3px 8px;
	border-radius: 4px;
	background: var(--ah-ink);
	color: #fff;
	font: italic 700 11.5px/1.2 Roboto, sans-serif;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ah-drawer-nav { flex: 1 0 auto; padding: 10px 0 24px; }

.ah-drawer-list,
.ah-drawer-sub {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ah-drawer-item { border-bottom: 1px solid var(--ah-line); }

.ah-drawer-row {
	position: relative;
	display: flex;
	align-items: center;
}

.ah-drawer-row > a {
	position: relative;
	flex: 1;
	display: block;
	padding: 17px 28px;
	color: var(--ah-ink);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
}

.ah-drawer-row > a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	bottom: 12px;
	width: 4px;
	background: var(--ah-ink);
	transform: scaleY(0);
	transition: transform .2s;
}

.ah-drawer-row > a:hover { color: var(--ah-ink); text-decoration: none; }
.ah-drawer-row > a:hover::before { transform: scaleY(1); }

.ah-drawer-arr {
	position: absolute;
	right: 24px;
	width: 16px;
	height: 16px;
	stroke-width: 2.2;
	color: #9a9a9a;
	pointer-events: none;
	transition: transform .2s, color .2s;
}

.ah-drawer-row:hover .ah-drawer-arr { color: var(--ah-ink); transform: translateX(3px); }

.ah-drawer-toggle {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	background: none;
	color: #9a9a9a;
	cursor: pointer;
}

.ah-drawer-toggle svg { width: 14px; height: 14px; stroke-width: 2.2; transition: transform .2s; }
.ah-drawer-toggle:hover { color: var(--ah-ink); }
.ah-drawer-item.is-open .ah-drawer-toggle { color: var(--ah-ink); }
.ah-drawer-item.is-open .ah-drawer-toggle svg { transform: rotate(180deg); }

.ah-drawer-sub {
	display: none;
	padding: 0 28px 14px;
}

.ah-drawer-item.is-open .ah-drawer-sub { display: block; }

.ah-drawer-sub a {
	position: relative;
	display: block;
	padding: 8px 0 8px 18px;
	color: #3a3a3a;
	font-size: 14.5px;
	text-decoration: none;
}

.ah-drawer-sub a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -3.5px;
	background: #c4c4c4;
	transform: skewX(var(--ah-skew));
	transition: background .15s;
}

.ah-drawer-sub a:hover { color: var(--ah-ink); text-decoration: none; }
.ah-drawer-sub a:hover::before { background: var(--ah-ink); }

/* Blog / Kontakt jsou v draweru jen tehdy, když se nevejdou do navigace */
.ah-drawer-item--aside { display: none; }

.ah-drawer-foot {
	flex: 0 0 auto;
	padding: 18px 28px 28px;
	border-top: 1px solid var(--ah-line);
}

.ah-drawer-logout {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ah-muted);
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
}

.ah-drawer-logout:hover { color: var(--ah-ink); text-decoration: none; }
.ah-drawer-logout svg { width: 18px; height: 18px; }

body.ah-lock { overflow: hidden; }

/* ---------------------------------------------------------------------
   5) Banner na celou šířku (dlaždice jsou ve slider_redesign.tpl vypnuté)
   --------------------------------------------------------------------- */
@media (min-width: 1280px) {
	.mkt-redesign .slider-banner .slider-banner-dynamic {
		width: 100%;
		max-width: none;
		flex: 1 1 100%;
	}

	/* navigace (puntíky + progress bar): rám se v původním layoutu škáluje podle šířky bloku (68 % z 60 %);
	   při 100 % šířce musí mít 40,8 % šířky, jinak je navigace pod bannerem */
	.mkt-redesign .bannerSwiperImage .swiper-pagination-frame { padding-top: 40.8%; }
}

/* ---------------------------------------------------------------------
   Tablet (+ .ah-nav-tight z JS, když se Blog/Kontakt nevejdou)
   --------------------------------------------------------------------- */
.ah.ah-nav-tight .ah-nav-link { display: none; }
.ah.ah-nav-tight .ah-drawer-item--aside { display: block; }

@media (max-width: 1279.98px) {
	.ah-phone-txt small { display: none; }
	.ah .ah-nav-link { display: none; }
	.ah-drawer-item--aside { display: block; }
}

/* ---------------------------------------------------------------------
   Mobil
   --------------------------------------------------------------------- */
@media (max-width: 991.98px) {
	body.mkt-redesign { --ah-pad: 16px; }

	.ah-bar-in {
		height: 44px;
		padding: 0 16px;
	}

	.ah-zv { margin-right: 4px; }
	.ah-cta::before { top: -5px; bottom: -5px; right: -20px; clip-path: polygon(calc(44px / tan(56.8deg)) 0, 100% 0, 100% 100%, 0 100%); }
	.ah-panel { display: none; }

	.ah-main {
		flex-wrap: wrap;
		gap: 0 12px;
		height: auto;
	}

	.ah-logo {
		display: flex;
		align-items: center;
		height: 64px;
	}

	.ah-logo img { height: 34px; }

	.ah .ah-search {
		order: 10;
		flex: 0 0 100%;
		max-width: none;
		height: 44px;
		margin: 0 0 12px;
	}

	.ah-right { gap: 0; height: 64px; }

	.ah-phone { margin: 0; }
	.ah-phone-txt { display: none; }
	.ah-phone-ico { background: none; }
	.ah-phone-ico svg { width: 22px; height: 22px; }
	.ah-phone:hover .ah-phone-ico { background: var(--ah-soft); color: var(--ah-ink); }

	.ah-icon { width: 42px; height: 42px; }
	.ah-icon.ah-acc { display: none; }
	.ah-burger { display: grid; }

	.ah .ah-cart { margin: 0 4px; }

	/* navigační řádek se schová, obsah žije v mobilním panelu */
	.ah-nav {
		position: static;
		height: 0;
		border: 0;
	}

	.ah-nav-in { height: 0; }
	.ah-nav-aside { display: none; }

	/* flex položky se z-indexem tvoří stacking context — panel by skončil pod backdropem */
	.ah .ah-nav,
	body.mkt-redesign .ah .ah-nav-main,
	body.mkt-redesign .ah .ah-nav-main .overflow-megamenu { z-index: auto !important; }

	body.mkt-redesign .ah .ah-nav-main .megamenu-wrapper { background: #fff !important; }

	/* mobilní panel hlavního menu */
	body.mkt-redesign .ah .ah-nav-main .megamenu-wrapper {
		position: fixed !important;
		z-index: 10050;
		top: 0;
		right: 0;
		bottom: 0;
		left: auto;
		display: block !important;
		width: calc(100% - 48px);
		max-width: 380px;
		height: auto;
		overflow-y: auto;
		background: #fff !important;
		box-shadow: -24px 0 60px rgba(0, 0, 0, .18);
		visibility: hidden;
		opacity: 1;
		transform: translateX(100%);
		transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .3s;
	}

	body.mkt-redesign .ah .ah-nav-main .megamenu-wrapper.active {
		visibility: visible;
		transform: none;
		transition-delay: 0s;
	}

	body.mkt-redesign .ah .ah-nav-main .megamenu-pattern,
	body.mkt-redesign .ah .ah-nav-main .megamenu-pattern > .container { height: auto; }

	.ah .ah-mpanel-head {
		display: flex;
		align-items: center;
		height: 64px;
		padding: 0 70px 0 24px;
		background: var(--ah-ink);
		color: #fff;
		font: italic 700 18px/1 Roboto, sans-serif;
		text-transform: uppercase;
		letter-spacing: .03em;
	}

	body.mkt-redesign .ah .ah-nav-main .side-menu-close {
		position: absolute !important;
		z-index: 2;
		top: 12px;
		right: 14px;
		left: auto;
		display: block;
		width: 40px;
		height: 40px !important;
		border-radius: 50%;
		cursor: pointer;
	}

	body.mkt-redesign .ah .ah-nav-main .side-menu-close::before,
	body.mkt-redesign .ah .ah-nav-main .side-menu-close::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 20px;
		height: 2px;
		border-radius: 2px;
		background: #fff;
	}

	body.mkt-redesign .ah .ah-nav-main .side-menu-close::before { transform: translate(-50%, -50%) rotate(45deg); }
	body.mkt-redesign .ah .ah-nav-main .side-menu-close::after { transform: translate(-50%, -50%) rotate(-45deg); }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu {
		display: block;
		height: auto;
		padding: 6px 0 24px;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.mobile-only {
		position: relative !important;
		display: block !important;
		border-top: 0 !important;
		border-bottom: 1px solid var(--ah-line) !important;
		background: none !important;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.desktop-only { display: none !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li:hover,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.active { background: none !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > a,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li:first-child > a {
		display: flex;
		height: auto !important;
		padding: 17px 64px 17px 24px !important;
		border: 0 !important;
		color: var(--ah-ink) !important;
		font-size: 16px;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > a.ah-sale { color: var(--ah-sale) !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li:hover > a > span > strong,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.active > a > span > strong { color: inherit !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > a .ah-chev { display: none; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > a::after {
		left: 0 !important;
		right: auto;
		top: 12px;
		bottom: 12px;
		width: 4px;
		height: auto;
		transform: scaleY(0);
		transform-origin: center;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > a:hover::after,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.active > a::after { transform: scaleY(1); }

	/* rozbalovací +/− */
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu > .open-menu,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu.active > .close-menu {
		position: absolute;
		z-index: 10;
		top: 0;
		right: 0;
		display: grid !important;
		place-items: center;
		width: 56px;
		height: 55px;
		margin: 0;
		padding: 0;
		color: #9a9a9a !important;
		cursor: pointer;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu.active > .open-menu,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > .open-menu.mobile-disabled { display: none !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu > .open-menu::before,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu.active > .close-menu::before {
		content: "";
		width: 9px;
		height: 9px;
		margin-top: -4px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		font-size: 0;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu.active > .close-menu { color: var(--ah-ink) !important; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.with-sub-menu.active > .close-menu::before {
		margin-top: 4px;
		transform: rotate(-135deg);
	}

	/* obsah plachetky v panelu */
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li > .sub-menu {
		position: relative !important;
		top: 0 !important;
		width: 100% !important;
		background: none !important;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content {
		padding: 0 24px 14px !important;
		background: none !important;
		box-shadow: none !important;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom {
		width: auto;
		max-width: none;
		padding: 0;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .row { margin: 0; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .row > div {
		position: relative;
		width: 100%;
		max-width: none;
		flex: 0 0 100%;
		padding: 0;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom a.heading-link {
		position: relative;
		display: block;
		margin: 0 !important;
		padding: 9px 40px 9px 18px;
		color: var(--ah-ink) !important;
		font-size: 15px;
		font-weight: 500;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom a.heading-link[href=""] { display: none; }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom a.heading-link::after {
		content: "";
		display: block !important;
		position: absolute;
		left: 0;
		top: 50%;
		bottom: auto;
		width: 7px;
		height: 7px;
		margin-top: -3.5px;
		background: #c4c4c4;
		transform: skewX(var(--ah-skew));
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom a.heading-link:hover::after { background: var(--ah-ink); }

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .sub-submenu-btn {
		position: absolute;
		top: 0;
		right: 0;
		width: 40px;
		height: 38px;
		padding: 0;
		cursor: pointer;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .sub-submenu-btn::before,
	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .sub-submenu-btn::after {
		left: 50%;
		width: 10px;
		height: 2px;
		margin-left: -5px;
		background: #9a9a9a;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom .sub-submenu-btn.active::before {
		height: 2px;
		background: var(--ah-ink);
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom ul.sub-submenu {
		margin: 0 0 6px 18px;
		padding: 0 0 0 12px;
		border-left: 1px solid var(--ah-line);
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom ul.sub-submenu li a {
		display: block;
		padding: 6px 0;
		color: #3a3a3a !important;
		font-size: 14px;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu li .sub-menu .content .submenu-custom br { display: none; }

	/* jazyky v panelu */
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.lang_li {
		display: flex !important;
		align-items: center;
		gap: 4px;
		padding: 18px 24px !important;
		border-bottom: 0 !important;
		color: #c4c4c4;
		font-size: 14px;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.lang_li a {
		display: inline-block;
		height: auto !important;
		padding: 6px 8px !important;
		border-radius: 4px;
		color: var(--ah-ink) !important;
		font-size: 14px;
		font-weight: 600;
	}

	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.lang_li a::after { display: none !important; }
	body.mkt-redesign .ah .ah-nav-main ul.megamenu > li.lang_li a:hover { background: var(--ah-soft) !important; }

	.ah-mpanel-backdrop {
		position: fixed;
		z-index: 10040;
		inset: 0;
		background: rgba(13, 13, 13, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .25s, visibility 0s linear .25s;
	}

	body.ah-mpanel-open { overflow: hidden; }

	body.ah-mpanel-open .ah-mpanel-backdrop {
		opacity: 1;
		visibility: visible;
		transition-delay: 0s;
	}

	.ah-drawer { display: none; }
}

@media (max-width: 380px) {
	.ah-cta { gap: 8px; padding: 0 10px 0 28px; }
	.ah-cta-t1 { font-size: 12px; }
}
