﻿/* ==========================================================================
   DEKOBRAZ – redesign.css
   Nová vrstva pro redesign. Načítá se v main.tpl PO custom.css.
   Třídy prefixované .pd2-* (sjednoceno s detailem produktu).
   ========================================================================== */

/* ===========================
   HOMEPAGE
   =========================== */

.pd2-home {
	color: #1a1a1a;
}

/* --- společná sekce s nadpisem (ikona + titul + tlačítko „Zobrazit vše“) --- */
/* Pouze vertikální okraje – zkratka margin: 70px 0 35px by nastavila L/R na 0
   a přepsala by margin: auto u .container na stejném prvku. */
.pd2-section {
	margin-top: 52px;
	margin-bottom: 28px;
}

.pd2-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
	padding-bottom: 14px;
	border-bottom: 1px solid #E2E2E2;
}

.pd2-section__title-wrap {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.pd2-section__icon {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	object-fit: contain;
	display: block;
}
.pd2-section__icon.topvyber {
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	object-fit: contain;
	display: block;
}

.pd2-section__title {
	margin: 0;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #2D3239;
	line-height: 1.15;
}

.pd2-section__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid #D7DEE5;
	border-radius: 4px;
	background: #fff;
	color: #5C6873;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.pd2-section__more:hover,
.pd2-section__more:focus {
	background: #2D3239;
	color: #fff;
	border-color: #2D3239;
	text-decoration: none;
}

/* --- banner kategorií (4 dlaždice) --- */
.pd2-cat-row {
	margin-top: 30px;
	margin-bottom: 10px;
}

.pd2-cat-swiper {
	overflow: visible;
	position: relative;
}

.pd2-cat-swiper .swiper-slide {
	width: 350px;
	height: auto;
}

.pd2-cat-tile {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 8 / 11;
	background: #e8e8e8;
	text-decoration: none;
	color: #fff;
}

.pd2-cat-tile__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.pd2-cat-tile:hover .pd2-cat-tile__img,
.pd2-cat-tile:focus .pd2-cat-tile__img {
	transform: scale(1.05);
}

.pd2-cat-tile__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,.80) 0%, rgba(0,0,0,.18) 52%, rgba(0,0,0,0) 72%);
	pointer-events: none;
}

.pd2-cat-tile__body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	text-align: center;
	padding: 0 16px;
}

.pd2-cat-tile__title {
	display: block;
	margin: 0 0 12px;
	color: #fff;
	font-size: 28px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-shadow: 0 2px 8px rgba(0,0,0,.6);
	line-height: 1.2;
}

.pd2-cat-tile__btn {
	display: inline-block;
	background: rgba(255,255,255,.20);
	border: 1px solid rgba(255,255,255,.70);
	color: #fff;
	padding: 10px 24px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 4px;
	transition: background .2s ease, border-color .2s ease;
}
.pd2-cat-tile:hover .pd2-cat-tile__btn,
.pd2-cat-tile:focus .pd2-cat-tile__btn {
	background: rgba(255,255,255,.28);
	border-color: rgba(255,255,255,.85);
}
/* --- horní strip benefitů (uvnitř containeru, dělicí linky neprotínají viewport) --- */
.pd2-hbenefits {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	padding: 32px 0;
	margin: 26px 0 38px;
	border-top: 1px solid #E2E2E2;
	border-bottom: 1px solid #E2E2E2;
}

.pd2-hbenefit {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	padding: 0 8px;
}
.pd2-hbenefit__icon {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	object-fit: contain;
}

.pd2-hbenefit__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 700;
	color: #2D3239;
	text-transform: uppercase;
	letter-spacing: .03em;
	text-align: center;
}

/* --- homepage produktový carousel (Swiper) ---
   Sdílí .pd2-related__swiper z detailu, jen vlastní šířka slide a navigace. */
.pd2-hpswiper {
	position: relative;
	overflow: visible;
}

.pd2-hpswiper .swiper-slide {
	width: 260px;
	height: auto;
	display: flex;
}

.pd2-hpswiper .swiper-slide .pd2-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	width: 100%;



	border-radius: 8px;
	overflow: hidden;
}














/* badge – abs. pozice misto float, aby nepresovalo layout obrazku */

.pd2-hpswiper .swiper-slide .pd2-card__imgwrap {
	border-radius: 8px 8px 0 0;
	overflow: hidden;
}
.pd2-hpswiper .swiper-slide .pd2-card__badge {
	position: absolute;
	top: 0;
	right: 0;
	float: none;









	z-index: 2;
}

.pd2-hpswiper .swiper-slide .pd2-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;


}

/* kompaktni karta – homepage override */
.pd2-hpswiper .swiper-slide .pd2-card__img {
	height: 155px;
	width: 100%;
	object-fit: cover;
}

.pd2-hpswiper .swiper-slide .pd2-card__body {
	padding: 12px 14px 12px;
}

.pd2-hpswiper .swiper-slide .pd2-card__name {
	margin-bottom: 4px;
}

.pd2-hpswiper .swiper-slide .pd2-card__price {
	margin-bottom: 10px;
}
















.pd2-hpswiper .swiper-slide .pd2-card__btn {
	margin-top: auto;
}

/* card – shadow + subtle hover lift (homepage only) */
.pd2-hpswiper .swiper-slide .pd2-card {
	box-shadow: 0 2px 14px rgba(0,0,0,.07);
	transition: box-shadow .25s ease, transform .25s ease;
}

.pd2-hpswiper .swiper-slide:hover .pd2-card {
	box-shadow: 0 6px 24px rgba(0,0,0,.13);
	transform: translateY(-2px);
}

/* card btn – jemnejsi override pro homepage */
.pd2-hpswiper .swiper-slide .pd2-card__btn {
	display: block;
	width: 100%;
	background: #1a1a1a;
	color: #fff;
	text-decoration: none;
	padding: 11px 14px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	border-radius: 0 0 8px 8px;
}

.pd2-hpswiper .swiper-slide .pd2-card__btn:hover {
	background: #5DC09C;
	color: #fff;
}

















/* navigace */
.pd2-hpswiper__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
	cursor: pointer;
	z-index: 5;
	padding: 0;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.pd2-hpswiper__nav::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 auto;
	border-right: 2px solid #2D3239;
	border-bottom: 2px solid #2D3239;
}

.pd2-hpswiper__nav--prev {
	left: -24px;
}

.pd2-hpswiper__nav--prev::before {
	transform: rotate(135deg);
	margin-left: 20px;
}

.pd2-hpswiper__nav--next {
	right: -24px;
}

.pd2-hpswiper__nav--next::before {
	transform: rotate(-45deg);
	margin-left: 14px;
}

.pd2-hpswiper__nav:hover {
	background: #2D3239;
}

.pd2-hpswiper__nav:hover::before {
	border-color: #fff;
}

.pd2-hpswiper__nav.swiper-button-disabled {
	opacity: 0;
	pointer-events: none;
}

/* --- promo blok „Nakupte více a ušetřete“ --- */
.pd2-promo {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
	gap: 60px;
	align-items: center;
	background: #F1F4F6;
	border-radius: 6px;
	padding: 50px 60px;
	margin: 70px 0;
}

.pd2-promo__media {
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pd2-promo__media img {
	max-width: 100%;
	max-height: 320px;
	height: auto;
	display: block;
}

.pd2-promo__title {
	margin: 0 0 22px;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #2D3239;
	line-height: 1.2;
}

.pd2-promo__list {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.pd2-promo__list li {
	padding: 6px 0;
	font-size: 18px;
	color: #2D3239;
	line-height: 1.5;
}

.pd2-promo__list strong {
	color: #1aa38f;
	font-weight: 800;
}

.pd2-promo__note {
	margin: 0 0 28px;
	color: #5C6873;
	font-size: 15px;
	line-height: 1.6;
}

.pd2-promo__btn {
	display: inline-block;
	background: #1a1a1a;
	color: #fff;
	padding: 14px 28px;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: 4px;
	text-decoration: none;
	transition: background .2s ease;
}

.pd2-promo__btn:hover,
.pd2-promo__btn:focus {
	background: #1aa38f;
	color: #fff;
	text-decoration: none;
}

/* --- sekce „Chcete oživit interiér?“ --- */
.pd2-intro {
	text-align: center;
	margin: 60px auto 30px;
	max-width: 860px;
}

.pd2-intro__badge {
	width: 188px;
	height: auto;
	margin: 0 auto 28px;
	display: block;
}

.pd2-intro__title {
	margin: 0 auto 28px;
  font-size: 48px;
  font-weight: 600;
  color: #3F444A;
  line-height: 1.25;
  letter-spacing: 0;
}

.pd2-intro__text {
	max-width: 860px;
	margin: 0 auto;
}

.pd2-intro__text p {
	margin: 0 0 16px;
	font-size: 20px;
	color: #5C6873;
	line-height: 32px;
}

.pd2-intro__text p:last-child {
	margin-bottom: 0;
}

/* --- 4 ikonové „feature“ boxy pod intro --- */
.pd2-hfeats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 44px 0 55px;
}

.pd2-hfeat {
	text-align: center;
	padding: 0 10px;
}

.pd2-hfeat__icon {
	height: 76px;
	width: auto;
	margin-bottom: 14px;
	display: inline-block;
}

.pd2-hfeat__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: #2D3239;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* --- video --- */
.pd2-video {
	margin: 24px 0 50px;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	aspect-ratio: 16 / 9;
	background: transparent;
	box-shadow: 0 2px 16px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.05);
}

.pd2-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ===========================
   RESPONSIVE
   =========================== */

/* menší desktop */
@media (max-width: 1199px) {
	.pd2-cat-tile__title {
		font-size: 19px;
	}
	.pd2-hpswiper .swiper-slide {
		width: 260px;
	}
	.pd2-section__title {



		font-size: 26px;
	}
	.pd2-promo__title {
		font-size: 28px;
	}
	.pd2-intro__title {
		font-size: 32px;
	}
	.pd2-cat-swiper .swiper-slide {
		width: 300px;
	}
}

/* tablet */
@media (max-width: 991px) {
	.pd2-cat-swiper .swiper-slide {
		width: 260px;
	}
	.pd2-hbenefits {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 24px;
		padding: 30px 0;
	}
	.pd2-hpswiper .swiper-slide {
		width: 240px;
	}



	.pd2-promo {
		grid-template-columns: 1fr;
		padding: 36px 28px;
		gap: 28px;
		margin: 50px 0;
	}
	.pd2-promo__media {
		min-height: 140px;
	}
	.pd2-promo__title {
		font-size: 26px;
	}
	.pd2-hfeats {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 36px;
		margin: 50px 0 60px;
	}
	.pd2-section__title {
		font-size: 22px;
	}
	.pd2-section__icon {
		width: 32px;
		height: 32px;
		flex: 0 0 32px;
	}
	.pd2-intro {
		margin: 60px auto 30px;
	}
	.pd2-intro__title {
		font-size: 28px;
	}
	.pd2-intro__badge {
		width: 130px;
	}
	.pd2-section {
		margin-top: 40px;
		margin-bottom: 20px;
	}
	.pd2-section__head {
		margin-bottom: 28px;
		padding-bottom: 14px;
	}
	/* na tabletu šipky uvnitř kontejneru, aby nepřesahovaly */
	.pd2-hpswiper__nav--prev { left: 6px; }
	.pd2-hpswiper__nav--next { right: 6px; }
}

/* malé tablety / velké mobily */
@media (max-width: 640px) {
	.pd2-section__head {
		flex-wrap: wrap;
		gap: 12px;
	}
	.pd2-cat-tile__title {
		font-size: 17px;
		margin-bottom: 10px;
	}
	.pd2-hpswiper .swiper-slide {
		width: 220px;
	}



	.pd2-section__title {
		font-size: 20px;
	}
}

/* mobil */
@media (max-width: 480px) {
	.pd2-cat-swiper .swiper-slide {
		width: 72vw;
	}

	.pd2-cat-tile {
		aspect-ratio: 16 / 10;
	}
	.pd2-hbenefits {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
		padding: 24px 0;
		margin: 30px 0 40px;
	}
/*	.pd2-hbenefit {
		align-items: flex-start;
	}*/
	.pd2-hfeats {
		grid-template-columns: 1fr 1fr;
		gap: 28px 16px;
		margin: 40px 0 50px;
	}
	.pd2-hfeat__icon {
		height: 64px;
	}
	.pd2-promo {
		padding: 24px 20px;
		gap: 20px;
		margin: 40px 0;
	}
	.pd2-promo__title {
		font-size: 22px;
	}
	.pd2-promo__list li {
		font-size: 16px;
	}
	.pd2-intro {
		margin: 50px auto 20px;
	}
	.pd2-intro__title {
		font-size: 24px;
	}
	.pd2-intro__badge {
		width: 110px;
	}
	.pd2-section {
		margin-top: 30px;
		margin-bottom: 16px;
	}
	.pd2-section__head {
		margin-bottom: 20px;
		padding-bottom: 12px;
	}
	.pd2-section__more {
		font-size: 11px;
		padding: 8px 12px;
	}
	.pd2-hpswiper .swiper-slide {
		width: 58vw;
	}






	.pd2-video {
		margin: 30px 0 50px;
		border-radius: 20px;
	}
	/* na mobilu šipky skrýt – ovládání jen swipem */
	.pd2-hpswiper__nav {
		display: none;
	}
}

/* ==========================================================================
   PRODUCT LISTING – pd2-listing
   Scopováno na .pd2-listing a .pd2-listing__banner, aby nerozbilo
   homepage carousel (.pd2-hpswiper) ani detail produktu (.pd2-related).
   ========================================================================== */

/* ================================================================
   ŠEDÝ INTRO BANNER – full-width sekce nad gridem
   ================================================================ */

.pd2-listing__banner {
	background: #F8F8F8;
	padding: 28px 0 32px;
}

/* Breadcrumb uvnitř banneru – zrušení vlastního pozadí/borderu */
.pd2-listing__banner .c-layout-breadcrumbs-1 {
	background: transparent !important;
	border-top: none !important;
	border-bottom: none !important;
	padding-top: 0 !important;
	padding-bottom: 8px !important;
}

/* H1 řádek – ikona + nadpis */
.pd2-listing__title-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 14px;
}

.pd2-listing__cat-icon {
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}

.pd2-listing__h1 {
	margin: 0;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 0;
  color: #3F444A;
  line-height: 40px;
}

/* Perex kategorie */
.pd2-listing__intro {
	margin-bottom: 30px;
  font-size: 16px;
  color: #5C6873;
  line-height: 1.7;
}

.pd2-listing__intro p {
	margin: 0 0 10px;
}

.pd2-listing__intro p:last-child {
	margin-bottom: 0;
}

/* ----------------------------------------------------------------
   Podkategoriové pills – přímý Smarty seznam (sub_cats)
   ---------------------------------------------------------------- */

.pd2-listing__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 0;
}

.pd2-listing__pill {
	display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 30px;
  border-radius: 8px;
  border: 1px solid #fff;
  background: #fff;
  color: #2D3239;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: .03em;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
  white-space: nowrap;
  text-transform: uppercase;
}

.pd2-listing__pill-thumb {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 5px;
	overflow: hidden;
	background: #ECEEF1;
}

.pd2-listing__pill-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.pd2-listing__pill-label {
	line-height: 1.2;
}

.pd2-listing__pill:hover,
.pd2-listing__pill:focus {
	background: #fff;
	border-color: #32C5D2;
	color: #32C5D2;
	text-decoration: none;
}

.pd2-listing__pill.is-active {
	background: #fff;
	border-color: #32C5D2;
	color: #32C5D2;
}

/* ----------------------------------------------------------------
   Podkategoriové pills – CSS transformace {$sidemenu} na pills
   Sidemenu vloží <li class="c-dropdown c-open"> pro aktivní parent
   s <ul class="c-dropdown-menu"> obsahujícím sourozence.
   ---------------------------------------------------------------- */

.pd2-listing__pills--sidemenu {
	display: block;
	overflow: hidden;
}

/* Skryjeme horní UL, ale zachováme ho v DOMu */
.pd2-listing__pills--sidemenu > ul {
	display: block;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Skryjeme všechny top-level položky */
.pd2-listing__pills--sidemenu > ul > li {
	display: none;
	padding: 0;
	margin: 0;
}

/* Zobrazíme jen aktivní dropdown (c-open = rodič aktivní podkategorie) */
.pd2-listing__pills--sidemenu > ul > li.c-open,
.pd2-listing__pills--sidemenu > ul > li.c-active {
	display: block;
}

/* Submenu se stane flex řádkem pillů */
.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li {
	display: block !important;
	padding: 0;
	margin: 0;
}

/* Pill odkaz */
.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li > a,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li > a {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 6px;
	border: 1.5px solid #D7DEE5;
	background: #fff;
	color: #2D3239;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: .03em;
	white-space: nowrap;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* Skryjeme šipku c-arrow uvnitř pillů */
.pd2-listing__pills--sidemenu .c-arrow {
	display: none !important;
}

/* Hover stav pillu */
.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li > a:hover,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li > a:hover {
	background: #F4F9F8;
	border-color: #1aa38f;
	color: #1aa38f;
	text-decoration: none;
}

/* Aktivní pill (c-active na dítěti) */
.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li.c-active > a,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li.c-active > a {
	background: #1aa38f;
	border-color: #1aa38f;
	color: #fff;
}

/* Skryjeme případné vnořené sub-sub-menu */
.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li > ul,
.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li > ul {
	display: none !important;
}

/* ================================================================
   HLAVNÍ OBSAH WRAPPER
   ================================================================ */

.pd2-listing {
	padding-top: 0;
	padding-bottom: 0;
	color: #1a1a1a;
}

/* ================================================================
   TOOLBAR – řazení + počet produktů
   ================================================================ */

.pd2-listing__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 14px 0;
	/*border-top: 1px solid #E2E2E2;*/
	border-bottom: 1px solid #E2E2E2;
	margin-bottom: 32px;
}

.pd2-listing__sort {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.pd2-sort-btn {
	display: inline-block;
	padding: 7px 14px;
	border-radius: 4px;
	background: transparent;
	color: #5C6873;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1.5px solid transparent;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	white-space: nowrap;
}

.pd2-sort-btn:hover,
.pd2-sort-btn:focus {
	color: #2D3239;
	background: #F4F5F7;
	text-decoration: none;
}

.pd2-sort-btn.is-active {
	color: #1aa38f;
	background: #EEF8F6;
	border-color: #A8DDD6;
}

.pd2-listing__count {
	font-size: 16px;
  color: #5C6873;
  font-weight: 500;
  white-space: nowrap;
}

/* ================================================================
   PRODUCT GRID – 4 sloupce desktop
   ================================================================ */

.pd2-listing__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-bottom: 48px;
}

/* ----------------------------------------------------------------
   Scoped overrides pro .pd2-card uvnitř výpisu
   Základní styl pochází z custom.css (.pd2-card). Zde jen
   zvětšujeme obrázek a fixujeme badge na absolutní pozici.
   ---------------------------------------------------------------- */

/* Větší obrázek v gridu */
.pd2-listing .pd2-card .pd2-card__img {
	height: 200px;
	object-fit: cover;
}

/* Badge absolutně top-right (float z custom.css přebijeme) */
.pd2-listing .pd2-card .pd2-card__imgwrap {
	position: relative;
}

.pd2-listing .pd2-card .pd2-card__badge {
	position: absolute;
	top: 0;
	right: 0;
	float: none;
	z-index: 2;
	border-radius: 0 0 0 4px;
}

/* ----------------------------------------------------------------
   Oblíbené (srdíčko) v rohu karty ve výpisu
   ---------------------------------------------------------------- */
.pd2-card {
	position: relative;
}

.pd2-card__fav {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
	text-decoration: none;
	transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}

.pd2-card__fav:hover,
.pd2-card__fav:focus {
	background: #fff;
	transform: scale(1.06);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .18);
	text-decoration: none;
}

.pd2-card__fav .pd2-wishlist__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	line-height: 1;
}

.pd2-card__fav .pd2-wishlist__icon img {
	width: 20px;
	height: 20px;
	display: block;
}

.pd2-card__fav.is-active {
	background: #fff;
}

/* ================================================================
   STRÁNKOVÁNÍ
   ================================================================ */

.pd2-listing__paging {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-bottom: 52px;
}

.pd2-listing__loadmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 32px;
	background: #fff;
	border: 1.5px solid #D7DEE5;
	border-radius: 4px;
	color: #2D3239;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.pd2-listing__loadmore:hover,
.pd2-listing__loadmore:focus {
	background: #2D3239;
	color: #fff;
	border-color: #2D3239;
	text-decoration: none;
}

.pd2-listing__paging .pagination {
	margin: 0;
}

.pd2-listing__paging .pagination > li > a,
.pd2-listing__paging .pagination > li > span {
	color: #2D3239;
	border-color: #E2E2E2;
	font-size: 14px;
	font-weight: 600;
	transition: background .15s ease, color .15s ease;
}

.pd2-listing__paging .pagination > li.active > a,
.pd2-listing__paging .pagination > li.active > span {
	background-color: #1aa38f;
	border-color: #1aa38f;
	color: #fff;
}

.pd2-listing__paging .pagination > li > a:hover {
	background: #EEF8F6;
	color: #1aa38f;
	border-color: #A8DDD6;
}

/* Benefits */
.pd2-listing__benefits {
	margin-top: 0;
	margin-bottom: 52px;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

/* menší desktop */
@media (max-width: 1199px) {
	.pd2-listing__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}
}

/* tablet */
@media (max-width: 991px) {
	.pd2-listing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.pd2-listing__h1 {
		font-size: 24px;
	}

	.pd2-listing__toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.pd2-listing__count {
		align-self: flex-end;
	}

	.pd2-listing__banner {
		padding: 20px 0 24px;
	}
}

/* malé tablety / velké mobily */
@media (max-width: 640px) {
	.pd2-listing__sort {
		gap: 2px;
	}

	.pd2-sort-btn {
		font-size: 11px;
		padding: 6px 10px;
	}

	.pd2-listing .pd2-card .pd2-card__img {
		height: 160px;
	}
}

/* mobil */
@media (max-width: 480px) {
	.pd2-listing__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.pd2-listing__h1 {
		font-size: 20px;
	}

	.pd2-listing .pd2-card .pd2-card__img {
		height: 130px;
	}

	.pd2-listing__pills,
	.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu,
	.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu {
		gap: 6px;
	}

	.pd2-listing__pill,
	.pd2-listing__pills--sidemenu > ul > li.c-open > ul.c-dropdown-menu > li > a,
	.pd2-listing__pills--sidemenu > ul > li.c-active > ul.c-dropdown-menu > li > a {
		font-size: 12px;
		padding: 6px 12px;
	}

	.pd2-listing__loadmore {
		width: 100%;
		justify-content: center;
		font-size: 12px;
	}
}

/* ==========================================================================
   HEADER – vizuální redesign (scopováno na .c-layout-header)
   PHP logika, menu systém, košík ani routing se nemění.
   ========================================================================== */

/* ────────────────────────────────────────────────
   1. Promo lišta (c-slevabar)
   ──────────────────────────────────────────────── */
/*
.c-layout-header .c-slevabar {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1 !important;
	min-height: 40px;
	display: flex;
	align-items: center;
	background: #1C2231 !important;
}

.c-layout-header .c-slevabar .container {
	position: relative;
	width: 100%;
}

.c-layout-header .c-slevabar p {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	margin: 0;
	padding: 10px 0;
	font-size: 13.5px;
	line-height: 1.4;
	color: #fff;
	letter-spacing: .01em;
}

.c-layout-header .c-slevabar span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 20px;
	padding: 4px 14px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff !important;
	white-space: nowrap;
	margin: 0;
	height: auto;
	float: none;
}

.c-layout-header .c-slevabar span strong {
	color: #4FD1C0 !important;
	font-weight: 900;
	letter-spacing: .08em;
}

@media (min-width: 768px) {
	.c-layout-header .c-slevabar::before,
	.c-layout-header .c-slevabar::after,
	.c-layout-header .c-slevabar p::before,
	.c-layout-header .c-slevabar span::before {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.c-layout-header .c-slevabar p {
		flex-direction: column;
		gap: 8px;
		padding: 10px 0;
		text-align: center;
	}
}
*/
/* ────────────────────────────────────────────────
   2. Utility řádek (menutopbar) – informační linky
   ──────────────────────────────────────────────── */

.c-layout-header .menutopbar.c-topbar {
	padding: 0 !important;
	background: #fff !important;
	border-bottom: 1px solid #E2E2E2 !important;
	min-height: 40px !important;
}

/* centrovat linky */
.c-layout-header .menutopbar .pd2-menutopbar-nav {
	float: none !important;
	display: flex;
	justify-content: center;
	margin: 0 !important;
}

.c-layout-header .menutopbar .c-links {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 34px;
}

.c-layout-header .menutopbar .c-links li a {
	font-size: 13px !important;
	font-weight: 500;
	letter-spacing: .04em;
	color: #000 !important;
	padding: 0 12px;
	line-height: 34px;
	display: block;
	text-decoration: none;
	transition: color .15s ease;
}

.c-layout-header .menutopbar .c-links li a:hover {
	color: #000 !important;
	text-decoration:underline !important;
}

.c-layout-header .menutopbar .c-divider {
	color: #CDD2D8 !important;
	padding: 0;
	font-size: 12px;
	line-height: 34px;
	user-select: none;
}

/* ────────────────────────────────────────────────
   3. Hlavní header řádek – pd2-topbar-inner flex layout
   Pořadí: logo | telefon | search | akce (wishlist + košík)
   ──────────────────────────────────────────────── */

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-height: 116px !important;
	background: #fff !important;
	border-bottom: 1px solid #EAECF0 !important;
}

/* flex container */
.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .pd2-topbar-inner {
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	gap: 35px;
	min-height: 116px;
	overflow: visible;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ── Prvek 1: Logo / c-brand ── */
.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .c-brand {
	float: none !important;
	flex: 0 0 200px;
	order: 1;
	margin: 0 0 0 -50px !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
}

.c-layout-header .c-brand .c-logo {
	display: flex;
	align-items: center;
}

.c-layout-header .c-brand .c-desktop-logo {
	height: auto;
	width: 200px;
	max-width: 200px;
	display: block;
}

.c-layout-header .c-brand .c-desktop-logo-inverse {
	display: none !important;
}

.c-layout-header .c-brand .c-mobile-logo {
	height: 34px;
	width: auto;
}

/* ── Prvek 2: Telefon – grid layout: [ikona] [číslo / hodiny] ── */
.pd2-topbar-phone {
	flex: 0 0 auto;
	order: 2;
	display: grid;
	grid-template-columns: 40px 1fr;
	grid-template-rows: auto auto;
	column-gap: 8px;
	row-gap: 0;
	align-items: center;
}

/* telefonní ikona (Font Awesome) – přes oba řádky */
.pd2-topbar-phone::before {
	content: '';
    width: 32px;
    height: 32px;
    grid-row: 1 / span 2;

    background-image: url('../../../pics/redesign/icons/phone-header.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* label skrytý – zůstává v HTML pro zpětnou kompatibilitu */
.pd2-topbar-phone__label {
	display: none !important;
}

.pd2-topbar-phone__number {
	grid-column: 2;
	grid-row: 1;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	color: #1E2530;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1.18;
	transition: color .15s ease;
}

.pd2-topbar-phone__number:hover {
	color: #1aa38f;
}

/* pracovní doba – nyní v HTML spanu, CSS ::after vypnut */
.pd2-topbar-phone__number::after {
	content: none !important;
	display: none !important;
}

#results {
  position: absolute;
  z-index: 555555;
  background: #fff;
  width: 100%;
  top: 100%;
  display: none;
}

/* pracovní doba se zelenou tečkou */
.pd2-topbar-phone__hours {
	grid-column: 2;
	grid-row: 2;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	font-weight: 300;
	color: #5C6873;
	letter-spacing: .01em;
	white-space: nowrap;
	line-height: 18px;
	margin-top: 2px;
}

.pd2-topbar-phone__hours::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #22c55e;
	flex-shrink: 0;
}

/* ── Prvek 3: Search ── */
.pd2-topbar-search {
	flex: 1 1 auto !important;
	float: none !important;
	order: 3;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 410px;
}

.pd2-topbar-search .c-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pd2-topbar-search .c-links li {
	display: block;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .input-group.c-square {
	border: 1px solid #DDE1E7;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	transition: border-color .2s ease, box-shadow .2s ease;
	width: 100%;
	height: 52px;
	margin: 0;
	display: flex;
	align-items: stretch;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .input-group.c-square:focus-within {
	border-color: #1aa38f;
	/*box-shadow: 0 0 0 3px rgba(26,163,143,.10);*/
	background: #fff;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .search.form-control {
	height: 50px !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0px !important;
  font-size: 16px;
  padding: 0 18px;
  background: transparent;
  color: #888888;
  width: 100%;
  max-width: 350px;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .search.form-control::placeholder {
	color: #A8B0BA;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .btn.searchnas {
	height: 52px;
	width: 52px;
	min-width: 52px;
	background: transparent;
	border: 0;
	border-left: 1px solid #DDE1E7;
	color: #111;
	border-radius: 0;
	font-size: 20px;
	transition: background .15s ease, color .15s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .btn.searchnas:hover,
.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .btn.searchnas:focus {
	background: #F4F5F7;
	color: #1aa38f;
	outline: none;
}

/* ── Prvek 4: Wishlist + Košík (pd2-topbar-actions) ── */
.pd2-topbar-actions {
	flex: 0 0 auto;
	order: 4;
	display: flex;
	align-items: center;
	gap: 30px;
}

/* Wishlist v bílém headeru – čistá outline ikona srdce bez čtvercového pozadí */
.pd2-topbar-actions .pd2-hicon--fav {
	position: relative;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: transparent;
	border: none;
	text-decoration: none;
	transition: background .15s ease;
}

.pd2-topbar-actions .pd2-hicon--fav:hover {
	background: #F4F5F7;
}

.pd2-topbar-actions .pd2-hicon--fav .pd2-hicon__img {
	width: 32px;
	height: 32px;
}

.pd2-topbar-actions .pd2-hicon__badge--fav {
	position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  min-width: 44px;
  height: 44px;
  line-height: 44px;
  font-size: 12px;
  font-weight: 800;
  padding: 0 4px;
  border-radius: 999px;
  background: no-repeat;
  color: #fff;
  text-align: center;
}

/* Košík v bílém headeru – světlý box s tmavou ikonou a cenou */
.pd2-topbar-actions .pd2-hicon--cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0;
	background: #fff;
	border: 1px solid #DDE1E7;
	border-radius: 6px;
	height: 52px;
	padding: 0 0 0 14px;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease;
}

.pd2-topbar-actions .pd2-hicon--cart:hover {
	background: #F4F5F7;
	border-color: #C6CAD0;
}

/* tmavá ikona košíku na světlém pozadí */
.pd2-topbar-actions .pd2-hicon--cart .pd2-hicon__img {
	filter: brightness(0) saturate(0);
	width: 28px;
	height: 28px;
	display: block;
	margin-right: 10px;
}

/* teal badge počtu kusů – přes spodní část ikony */
.pd2-topbar-actions .pd2-hicon__badge--cart {
	position: absolute;
  top: auto;
  bottom: 5px;
  left: 28px;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  font-size: 10px;
  font-weight: 800;
  padding: 0 4px;
  border-radius: 999px;
  background: #32C5D2;
  color: #fff;
}

/* cena – oddělená světle šedá část vpravo */
.pd2-topbar-actions .pd2-hicon__pill {
	color: #000;
  font-size: 17px;
  font-weight: 700;
  background: #F8F8F8;
  padding: 0 15px;
  white-space: nowrap;
  align-self: stretch;
  display: flex;
  align-items: center;
  margin: 5px;
}

/* ────────────────────────────────────────────────
   4. Navbar – pouze navigační položky kategorií
   ──────────────────────────────────────────────── */

.c-layout-header .c-navbar {
	background: #1E2530 !important;
	border-top: none !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

/* položky vyplní celou šířku navbaru rovnoměrně */
@media (min-width: 992px) {
	.c-layout-header .c-navbar .c-navbar-wrapper {
		display: flex;
	}

	.c-layout-header .c-navbar .c-mega-menu {
		float: none !important;
		flex: 1 1 auto;
		width: 100%;
	}

	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav {
		display: flex !important;
		width: 100%;
		justify-content: space-between;
	}

	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav > li {
		flex: 1 1 0;
		display: flex;
		justify-content: center;
	}

	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav > li > .c-link {
		width: 100%;
		justify-content: center;
	}
}

@media (min-width: 992px) {

	/* ── nav link: flex row → ikona | text | šipka na jedné ose ── */
	.c-layout-header.c-layout-header-6 .c-navbar .c-mega-menu > .nav.navbar-nav > li > .c-link {
		/* flex místo line-height triku – ikona se nemůže vytrhnout mimo navbar */
		display: inline-flex !important;
		align-items: center !important;
		gap: 7px !important;
		height: 60px !important;
		min-height: 60px !important;
		line-height: 1 !important;          /* zrušit 60px line-height, flex centruje */
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 18px !important;
		padding-right: 18px !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		letter-spacing: .04em !important;
		color: #fff !important;
		transition: color .15s ease, background .15s ease;
		position: relative;
		white-space: nowrap;
		vertical-align: top;
	}

	/* ── SVG ikona v nav linku: jednotná velikost, nesmí přesahovat ── */
	.c-layout-header .c-navbar .nav.navbar-nav > li > .c-link .pd2-navitem__icon {
		display: block !important;
		width: 18px !important;
		height: 18px !important;
		flex-shrink: 0;
		object-fit: contain;
		opacity: 1;
		vertical-align: unset;
	}

	/* opacity reset – hover/active barvu řeší filter níže */

	/* ── Šipka ── */
	.c-layout-header .c-navbar .nav.navbar-nav > li > .c-link .c-arrow {
		display: inline-flex;
		align-items: center;
		line-height: 1;
		font-size: 0;
		flex-shrink: 0;
	}

	.c-layout-header .c-navbar .nav.navbar-nav > li > .c-link .c-arrow::before {
		content: "\f107";
		font-family: "FontAwesome";
		font-style: normal;
		font-size: 18px;
		margin-left: 4px;
		opacity: 1;
		font-weight: 300;
	}

	/* ── oddělovač ::after – skrýt ── */
	.c-layout-header.c-layout-header-6 .c-navbar .c-mega-menu > .nav.navbar-nav > li > .c-link::after {
		display: none !important;
		width: 0 !important;
	}

	/* hover + aktivní: text a ikona se obarví #32C5D2 */
	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav > li:hover > .c-link,
	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav > li.active > .c-link {
		color: #32C5D2 !important;
		background: rgba(255,255,255,.04) !important;
	}

	/* ikona – CSS filter → #32C5D2 na hover/aktivní */
	.c-layout-header .c-navbar .nav.navbar-nav > li:hover > .c-link .pd2-navitem__icon,
	.c-layout-header .c-navbar .nav.navbar-nav > li.active > .c-link .pd2-navitem__icon {
		opacity: 1;
		filter: invert(67%) sepia(60%) saturate(400%) hue-rotate(152deg) brightness(98%) contrast(90%);
	}

	/* ::before – zrušit underline, nechat jen prázdný placeholder */
	.c-layout-header .c-navbar .c-mega-menu > .nav.navbar-nav > li > .c-link::before {
		display: none !important;
	}
}

/* ────────────────────────────────────────────────
   5. Sticky – shadow při scrollu
   ──────────────────────────────────────────────── */

body.c-page-on-scroll .c-layout-header .c-navbar {
	box-shadow: 0 2px 18px rgba(0,0,0,.28);
}

/* ────────────────────────────────────────────────
   6. Responsivita
   ──────────────────────────────────────────────── */

@media (max-width: 1024px) {
	/* na tabletech/mobilu pd2-topbar-inner není flex – nechat přirozený tok */
	.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .pd2-topbar-inner {
		display: block !important;
		min-height: 0;
	}
	.c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) {
		min-height: 64px !important;
	}
	.c-layout-header .c-brand {
		float: none;
	}
	/* logo zmenšit na tablet/mobil */
	.c-layout-header .c-brand .c-desktop-logo {
		height: 38px;
	}
}

/* ────────────────────────────────────────────────
   7. custom.css konflikty – neutralizace
   ──────────────────────────────────────────────── */

/* custom.css měl výšku nav 67px a line-height 22px padding – sjednotíme */
@media (min-width: 992px) {
	.c-layout-header.c-layout-header-6 .c-navbar .c-mega-menu > .nav.navbar-nav > li > .c-link {
		min-height: 60px !important;
		line-height: 1 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	/* custom.css měl #2F353B */
	.c-layout-header.c-layout-header-6 .c-navbar {
		background: #1E2530 !important;
	}
	/* pd2-header-actions li – v navbaru už není, ale kdyby zůstalo z cache */
	.c-layout-header.c-layout-header-6 .c-navbar .nav.navbar-nav > li.pd2-header-actions {
		display: none !important;
	}
}

/* custom.css cart styles – přepsány novými .pd2-topbar-actions pravidly výše */
/* Selektor .pd2-header-actions v navbaru již neexistuje; tato pravidla jsou jen guard */
.pd2-header-actions .pd2-hicon--cart {
	background: #F2F4F6 !important;
	border: 1.5px solid #DDE1E7 !important;
}
.pd2-header-actions .pd2-hicon__pill {
	background: transparent !important;
	color: #1E2530 !important;
	font-size: 14px !important;
}
.pd2-header-actions .pd2-hicon__badge--cart {
	background: #1aa38f !important;
	color: #fff !important;
	border: none !important;
}

/* ==========================================================================
   MEGAMENU – desktop panel (scopováno na .c-layout-header, pouze ≥ 1025px)
   Generuje read_menu_mega(). Mobile menu (c-mega-menu-shown) není dotčeno.
   ========================================================================== */

/* ── Navbar potřebuje position: relative jako anchor pro absolutní panel ── */
.c-layout-header .c-navbar {
	position: relative;
}

/* ── Skrýt megamenu panel ve výchozím stavu ── */
.pd2-megamenu {
	display: none; /* fallback; přepsáno níže pro desktop */
}

@media (min-width: 1025px) {

	/* panel – absolutní, full-width navbaru */
	.pd2-megamenu {
		display: block;
		position: absolute;
		left: 15px;
    right: 15px;
		top: 100%;
		z-index: 9980;
		background: #fff;
		border-top: none;
		border-bottom: 1px solid #E5E8EC;
		box-shadow: 0 12px 32px rgba(0,0,0,.12);
		border-radius: 0 0 10px 10px;
		padding: 0;
		/* animace: skrytý */
		opacity: 0;
		transform: translateY(-6px);
		visibility: hidden;
		pointer-events: none;
		transition: opacity .22s ease, transform .22s ease, visibility .22s;
	}

	/* otevřít na hover rodičovského li */
	.c-layout-header .c-navbar .nav.navbar-nav > li.pd2-has-mega:hover > .pd2-megamenu,
	.c-layout-header .c-navbar .nav.navbar-nav > li.pd2-has-mega:focus-within > .pd2-megamenu {
		opacity: 1;
		transform: translateY(0);
		visibility: visible;
		pointer-events: auto;
	}

	/* vnitřní padding kontejneru */
	.pd2-megamenu > .container {
		padding-top: 20px;
		padding-bottom: 24px;
		width: 98%;
	}

	/* grid – 4 položky na řádek */
	.pd2-megamenu__inner {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 6px 10px;
		align-items: start;
	}

	/* ── Jedna položka: ikona VLEVO, text VPRAVO ── */
	.pd2-megamenu__item {
		position: relative;
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 10px 14px;
		border-radius: 8px;
		text-decoration: none;
		background: transparent;
		border: 1.5px solid transparent;
		transition: background .15s ease, border-color .15s ease;
		color: #2D3239;
	}

	/* svislý rozdělovník – ve středu column-gap (10px → right: -6px) */
	.pd2-megamenu__item::after {
		content: "";
		position: absolute;
		right: -6px;
		top: 18%;
		height: 64%;
		width: 1px;
		background: #E0E4E8;
		pointer-events: none;
	}

	/* bez rozdělovníku za posledním v každém řádku (4n) a za absolutně posledním */
	.pd2-megamenu__item:nth-child(4n)::after,
	.pd2-megamenu__item:last-child::after {
		display: none;
	}

	.pd2-megamenu__item:hover {
		background: #F4F9F8;
		border-color: #C0E8E2;
		color: #1aa38f;
	}

	.pd2-megamenu__item--active {
		background: #EEF8F6;
		border-color: #A8DDD6;
		color: #1aa38f;
	}

	/* ── Thumbnail – mírně zaoblený čtverec ── */
	.pd2-megamenu__thumb {
		width: 46px;
		height: 46px;
		border-radius: 10px;
		background: #F0F2F4;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		transition: background .15s ease;
		overflow: hidden;
	}

	.pd2-megamenu__item:hover .pd2-megamenu__thumb {
		background: #D0EDE8;
	}

	.pd2-megamenu__item--active .pd2-megamenu__thumb {
		background: #C8EDE7;
	}

	/* SVG ikona uvnitř thumbnailu */
	.pd2-megamenu__svg {
		width: 26px;
		height: 26px;
		opacity: .7;
		transition: opacity .15s ease;
	}

	.pd2-megamenu__item:hover .pd2-megamenu__svg {
		opacity: 1;
	}

	/* Fotka subkategorie (nahraná v administraci) – vyplní čtverec náhledu */
	.pd2-megamenu__photo {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		display: block;
	}

	/* ── Titulek – kapitálky, vlevo zarovnaný ── */
	.pd2-megamenu__title {
		font-size: 11.5px;
		font-weight: 700;
		line-height: 1.3;
		text-align: left;
		text-transform: uppercase;
		letter-spacing: .06em;
		color: inherit;
		transition: color .15s ease;
	}

	/* šipka na pd2-has-mega sdílí pravidlo z c-link .c-arrow::before výše */

}

/* ── Overlay pod megamenu panelem (class přidána JS) ── */
.pd2-mega-overlay {
	display: none;
}

@media (min-width: 1025px) {
	.pd2-mega-overlay {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		/* top nastavuje JS dle výšky headeru */
		background: rgba(0, 0, 0, .48);
		z-index: 9970; /* pod panelem (9980), nad obsahem stránky */
		opacity: 0;
		pointer-events: none;
		transition: opacity .22s ease;
	}

	.pd2-mega-overlay.is-active {
		opacity: 1;
	}
}

/* ── Na mobilech skrýt panel kompletně (mobile toggle řeší base theme) ── */
@media (max-width: 1024px) {
	.pd2-megamenu {
		display: none !important;
	}
}

/* ==========================================================================
   FOOTER – pd2-footer redesign
   ========================================================================== */

/* --- tmavé prémiové pozadí --- */
.c-layout-footer.c-bg-dark,
.pd2-footer {
	background-color: #1e2229 !important;
}

/* --- prefooter spacing --- */
.pd2-footer .c-prefooter {
	padding: 64px 0 48px !important;
	border-bottom: none !important;
}

/* --- sloupec wrapper --- */
.pd2-footer__col {
	padding: 0 !important;
	margin-bottom: 0 !important;
}

/* --- nadpisy sloupců --- */
.pd2-footer__heading {
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

/* --- odstraní původní c-content-title-1 border a line --- */
.pd2-footer .c-content-title-1 {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- navigační linky --- */
.pd2-footer__links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.pd2-footer__links > li {
	padding: 5px 0 !important;
	border-bottom: none !important;
}

.pd2-footer__links > li > a {
	color: #fff;
  font-size: 16px !important;
  font-weight: 300 !important;
  text-decoration: none !important;
  transition: color .15s ease !important;
}

.pd2-footer__links > li > a:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* --- kontaktní adresa --- */
.pd2-footer__address {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
}

.pd2-footer__address > li {
	display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 5px 0 !important;
  color: #fff;
  font-size: 16px !important;
  line-height: 1.55 !important;
  border-bottom: none !important;
  font-weight: 500;
}

.pd2-footer__icon {
	flex-shrink: 0 !important;
	margin-top: 3px !important;
	color: rgba(255,255,255,.45) !important;
	font-size: 15px !important;
}

.pd2-footer__address small {
	display: block !important;
	font-size: 14px !important;
  color: #fff;
	margin-top: 2px !important;
}

.pd2-footer__more-link {
	display: inline-block !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-decoration: none !important;
	text-underline-offset: 3px !important;
	transition: color .15s ease !important;
}

.pd2-footer__more-link:hover {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* --- social ikonka jako světlý čtvereček --- */
.pd2-footer__socials {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.pd2-footer__socials > li {
	display: inline-block !important;
	padding: 0 !important;
}

.pd2-footer__social-btn {
	display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  background: #fff;
  border-radius: 0;
  transition: background .18s ease !important;
}

.pd2-footer__social-btn i {
	color: #000 !important;
	font-size: 17px !important;
}

.c-layout-footer.c-layout-footer-3 .c-prefooter .c-container .c-socials > li > a.pd2-footer__social-btn > i {
  position: relative;
  display: inline-block;
  padding: 10px;
  background: #fff;
  color: #54606b;
  font-size: 18px;
  font-weight: 300;
}

.pd2-footer__social-btn:hover {
	background: rgba(255,255,255,.28) !important;
}

/* --- postfooter bar --- */
.pd2-footer .c-postfooter,
.pd2-footer__bar {
	padding: 20px 0 !important;
	border-top: none !important;
}

.pd2-footer__bar-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
}

/* --- copyright --- */
.pd2-footer__copyright {
	font-size: 15px !important;
  color: #EEE;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- platební loga --- */
.pd2-footer__payments {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pd2-footer__payments li {
	display: flex !important;
	align-items: center !important;
}

.pd2-footer__payments img {
	max-height: 50px !important;
	  width: auto !important;
	  opacity: .95 !important;
	transition: opacity .15s ease !important;
}

.pd2-footer__payments img:hover {
	opacity: 1 !important;
}

/* --- potlačit legacy c-links border v patičce --- */
.pd2-footer .c-links > li {
	border-bottom: none !important;
}

/* --- responzivita: tablet --- */
@media (max-width: 991px) {
	.pd2-footer .c-prefooter {
		padding: 48px 0 32px !important;
	}

	.pd2-footer [class*="col-sm-6"] {
		margin-bottom: 36px !important;
	}
}

/* --- responzivita: mobil --- */
@media (max-width: 640px) {
	.pd2-footer .c-prefooter {
		padding: 36px 0 24px !important;
	}

	.pd2-footer [class*="col-sm-6"] {
		width: 100% !important;
		margin-bottom: 28px !important;
	}

	.pd2-footer__bar-inner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
	}
}

/* =============================================================================
   CHECKOUT – oprava podle Figmy
   Selektory jsou striktně namespaced: .pd2-checkout*, .pd2-qty*, .pd2-radio*
   Žádné globální input/label/.form-control/.radio přepisy.
   ============================================================================= */

/* ── Checkout mode: pokladna bez menu / vyhledávání / horního mini-menu ── */

body.pd2-checkout-mode .c-layout-header .menutopbar {
	display: none !important;
}

body.pd2-checkout-mode .c-layout-header .pd2-topbar-search,
body.pd2-checkout-mode .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) nav.fullwmob,
body.pd2-checkout-mode .c-layout-header .c-brand > a.pd2-hicon--fav
{
	display: none !important;
}

body.pd2-checkout-mode .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) {
	min-height: 72px !important;
	border-bottom: 1px solid #EAECF0 !important;
}

body.pd2-checkout-mode .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .pd2-topbar-inner {
	justify-content: flex-start !important;
	gap: 28px !important;
}

/* hours z HTML spanu; checkout ::after se nepoužívá */
body.pd2-checkout-mode .pd2-topbar-phone__number::after {
	content: none !important;
	display: none !important;
}

/* ── Checkout nav bar — šedý pruh: ZPĚT | POKLADNA ── */
.pd2-checkout-nav {
	background: #F4F5F7;
	border-bottom: 1px solid #E5E8EC;
}

.pd2-checkout-nav .container.pd2-checkout-nav__inner,
.pd2-checkout-nav .pd2-checkout-nav__inner.container {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 52px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.pd2-checkout-nav__back {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #2D3239;
	text-decoration: none;
	transition: color .15s ease;
}

.pd2-checkout-nav__back-arr {
	font-weight: 800;
	margin-right: 2px;
}

.pd2-checkout-nav__back:hover,
.pd2-checkout-nav__back:focus {
	color: #1aa38f;
	text-decoration: none;
}

.pd2-checkout-nav__title {
  margin: 0;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #3F444A;
  line-height: 1;
}

/* ── Page wrapper + širší container ── */
.pd2-checkout-page {
	overflow-x: hidden;
	padding-top: 32px;
	padding-bottom: 72px;
}

.pd2-checkout-page .pd2-checkout-page__inner.container {
	max-width: 1280px;
	width: 100%;
}

/* ── Grid — ~60 % formulář / ~37 % souhrn, velká mezera ── */
.pd2-checkout.pd2-checkout {
	max-width: 100%;
}

.pd2-checkout__grid.row {
	margin-left: 0;
	margin-right: 0;
}

.pd2-checkout__grid.row > [class*="col-"] {
	padding-left: 0;
	padding-right: 0;
}

@media (min-width: 992px) {
	.pd2-checkout__grid.row {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: clamp(40px, 5vw, 72px);
	}

	.pd2-checkout__grid.row > [class*="col-"] {
		float: none !important;
		width: auto !important;
	}

	.pd2-checkout__col--main {
		flex: 1 1 60%;
		max-width: 60%;
		min-width: 0;
	}

	.pd2-checkout__col--aside {
		flex: 0 0 36%;
		max-width: 38%;
		min-width: 300px;
	}
}

.pd2-checkout__col--main {
	min-width: 0;
}

/* ── Sekce formuláře ── */
.pd2-checkout__section {
	margin-bottom: 36px;
}

.pd2-checkout__section--note {
	margin-bottom: 0;
}

/* Nadpisy sekcí — velké kapitálky dle Figmy */
.pd2-checkout__h {
  margin: 0 0 22px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #3F444A;
  padding-bottom: 0;
  border-bottom: none;
  line-height: 1.2;
}

/* ── Formulářová pole – scoped na .pd2-checkout__col--main ── */
.pd2-checkout__col--main .form-group {
	margin-bottom: 18px;
}

/* Pole — světle šedé pozadí (jen .pd2-checkout) */
.pd2-checkout__col--main .form-control.c-square {
	background: #F2F4F6 !important;
	border: 1px solid #E8EAED !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	height: 50px !important;
	font-size: 15px !important;
	color: #111 !important;
	padding: 0 16px !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.pd2-checkout__col--main .form-control.c-square:focus {
	background: #fff !important;
	border-color: #5DC09C !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(79, 209, 192, .18) !important;
}

/* Zelená fajfka pro vyplněná platná povinná pole */
.pd2-checkout__col--main input.form-control.c-square.required:not(:placeholder-shown):valid {
	background-color: #F2F4F6 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232BB656' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 18px 18px !important;
	padding-right: 44px !important;
}

.pd2-checkout__col--main input.form-control.c-square.required:not(:placeholder-shown):valid:focus {
	background-color: #fff !important;
}

.pd2-checkout__col--main textarea.form-control.c-square,
.pd2-checkout__col--main textarea.pd2-checkout__note {
	height: auto !important;
	min-height: 132px !important;
	padding: 14px 16px !important;
	resize: vertical !important;
	line-height: 1.45 !important;
}

/* Labely – čitelné, ne příliš malé */
.pd2-checkout__col--main .control-label {
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #444 !important;
	margin-bottom: 7px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* IČ + DIČ vedle sebe */
.pd2-checkout__row-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

/* PSČ – omezená šířka */
.pd2-checkout__psc-wrap .form-control {
	max-width: 160px;
}

/* ── Checkboxy — jednoduché, čitelné (ponechány span.inc/check/box pro šablonu) ── */
.pd2-checkout .pd2-checkout__checkbox-row .c-checkbox label {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #2D3239 !important;
	line-height: 1.4 !important;
}

.pd2-checkout .pd2-checkout__checkbox-row .c-checkbox {
	margin-bottom: 0;
}

/* ── Pravý sloupec — bez „krabičky“, jen typografie ── */
.pd2-checkout__col--aside {
	min-width: 0;
}

.pd2-checkout__summary {
	position: sticky;
	top: 16px;
	align-self: flex-start;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

/* Nadpis souhrnu */
.pd2-checkout__summary-title {
  margin: 0 0 22px;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #3F444A;
  padding-bottom: 0;
  border-bottom: none;
}

.pd2-checkout__order {
	margin: 0;
	padding: 0;
}

.pd2-checkout__order > li {
	list-style: none;
}

/* ── Produkty — miniatura | název + rozměr + qty | cena + odebrat ── */
.pd2-checkout__product {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 16px;
	row-gap: 12px;
	align-items: start;
	padding: 20px 0;
}

.pd2-checkout__product-thumb {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0;
}

.pd2-checkout__product-img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #E8EAED;
	display: block;
}

.pd2-checkout__product-body {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.pd2-checkout__product-name {
	font-size: 15px;
	font-weight: 700;
	color: #111;
	line-height: 1.35;
	margin: 0;
}

.pd2-checkout__product-dim {
	font-size: 13px;
	font-weight: 500;
	color: #6b7280;
	line-height: 1.35;
	margin: 4px 0 0;
}

.pd2-checkout__product-text .pd2-checkout__product-title.pd2-checkout__product-name,
.pd2-checkout__product-text .pd2-checkout__product-title.pd2-checkout__product-dim {
	/* paralelní třída .pd2-checkout__product-title — rozlišení řádků */
	display: block;
}

.pd2-checkout__product-qty {
	margin: 0;
}

.pd2-checkout__product-aside {
  grid-column: 3;
  grid-row: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 110px;
  text-align: right;
}

/* ── Qty +/- ── */
.pd2-checkout__qty-wrap {
	display: inline-flex;
	align-items: center;
	border: 1px solid #DDE1E7;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	height: 36px;
}

.pd2-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 36px;
	border: none;
	background: #F4F5F7;
	color: #374151;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	transition: background .15s ease, color .15s ease;
	flex-shrink: 0;
}

.pd2-qty-btn:hover {
	background: #E8EDF2;
	color: #1aa38f;
}

.pd2-checkout__qty-input {
	width: 40px;
	height: 36px;
	border: none !important;
	border-left: 1px solid #DDE1E7 !important;
	border-right: 1px solid #DDE1E7 !important;
	border-radius: 0 !important;
	text-align: center;
	font-size: 14px !important;
	font-weight: 700;
	color: #111 !important;
	background: #fff !important;
	padding: 0 !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
}

.pd2-checkout__qty-input::-webkit-outer-spin-button,
.pd2-checkout__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.pd2-checkout__qty-input:focus {
	outline: none;
	box-shadow: none !important;
}

.pd2-checkout__line-price {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	color: #111;
	white-space: nowrap;
}

.pd2-checkout__remove.pd2-checkout__remove-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 6px;
	font-size: 0;
	color: #9CA3AF;
	text-decoration: none;
	transition: color .15s ease, background .15s ease;
}

.pd2-checkout__remove.pd2-checkout__remove-icon i {
	font-size: 15px;
	line-height: 1;
}

.pd2-checkout__remove.pd2-checkout__remove-icon:hover,
.pd2-checkout__remove.pd2-checkout__remove-icon:focus {
	color: #dc2626;
	background: #FEF2F2;
	text-decoration: none;
}

.pd2-checkout__divider {
	height: 1px;
	background: #E8EAED;
	margin: 0;
	padding: 0;
	border: 0;
}

/* ── Řádky součtu ── */
.pd2-checkout__rowline {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	font-size: 14px;
	color: #555;
}

.pd2-checkout__rowline--discount {
	color: #1aa38f;
	font-weight: 700;
}

.pd2-checkout__rowline--subtotal {
	padding-top: 16px;
	margin-top: 8px;
	border-top: 1px solid #E8EAED;
	font-weight: 800;
	font-size: 15px;
	color: #111;
}

.pd2-checkout__rowline-val {
	font-weight: 700;
	color: #111;
}

.pd2-checkout__rowline--discount .pd2-checkout__rowline-val {
	color: #1aa38f;
}

/* Kupon — odkaz + řádek jako ve Figmě */
.pd2-checkout__coupon {
	padding: 16px 0 8px;
	border-top: 1px solid #E8EAED;
	margin-top: 8px;
}

.pd2-checkout__coupon--applied .pd2-checkout__coupon-toggle {
	color: #158a76;
}

.pd2-checkout__coupon-field {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
}

.pd2-checkout__coupon-field.is-applied::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232BB656' stroke-width='2.5'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

.pd2-checkout__coupon-field.is-applied .pd2-checkout__coupon-input {
	padding-right: 40px !important;
}

.pd2-checkout__coupon-toggle {
	background: none;
	border: none;
	padding: 0;
	color: #1aa38f;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color .15s ease;
}

.pd2-checkout__coupon-toggle:hover {
	color: #158a76;
}

.pd2-checkout__coupon-form {
	display: none;
	margin-top: 10px;
}

.pd2-checkout__coupon.is-open .pd2-checkout__coupon-form {
	display: block;
}

.pd2-checkout__coupon-row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

/* Kupon input */
.pd2-checkout__coupon-input {
	flex: 1 1 0;
	min-width: 0;
	height: 48px !important;
	background: #F2F4F6 !important;
	border: 1px solid #E8EAED !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	color: #111 !important;
	padding: 0 14px !important;
	box-shadow: none !important;
	outline: none !important;
}

.pd2-checkout__coupon-input:focus {
	border-color: #5DC09C !important;
	box-shadow: 0 0 0 3px rgba(79, 209, 192, .18) !important;
	background: #fff !important;
}

/* Tlačítko POUŽÍT — černé */
.pd2-checkout__coupon-btn {
	flex: 0 0 auto;
	height: 48px;
	min-width: 112px;
	padding: 0 22px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	border-radius: 8px !important;
	background: #111 !important;
	color: #fff !important;
	border: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: background .15s ease !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

.pd2-checkout__coupon-btn:hover,
.pd2-checkout__coupon-btn:focus {
	background: #1aa38f !important;
	color: #fff !important;
}

/* ── Doprava / platba — šedý obal (Fig.) + bílé řádky v gridu ── */
.pd2-checkout__panel--shipping,
.pd2-checkout__panel--payment {
	background: #EFEFF2;
	border-radius: 12px;
	padding: 16px 14px 14px;
	margin-top: 22px;
}

.pd2-checkout__panel--shipping .pd2-checkout__panel-title,
.pd2-checkout__panel--payment .pd2-checkout__panel-title {
	padding: 0 4px 14px;
}

.pd2-checkout__panel:not(.pd2-checkout__panel--shipping):not(.pd2-checkout__panel--payment) {
	margin-top: 22px;
	background: transparent;
	border: none;
	border-radius: 0;
	overflow: visible;
}

.pd2-checkout__panel-title {
	padding: 0 0 14px;
	margin: 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #111;
	background: transparent;
	border: none;
}

.pd2-checkout__radio-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0;
	margin: 0;
}

/* Metronic .c-radio label > span { position:absolute } — v labelu zůstávají jen 2× span (tělo + cena) */
.pd2-checkout .pd2-checkout__radio-list .c-radio.pd2-radio-row label.pd2-pay-option {
	line-height: 1.35 !important;
	padding-left: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-right: 0 !important;
}

.pd2-checkout .pd2-checkout__radio-list .c-radio.pd2-radio-row label.pd2-pay-option > span {
	display: block !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	-webkit-animation: none !important;
	-moz-animation: none !important;
	animation: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
	transition: none !important;
}

/* =============================================================================
   RADIO ŘÁDKY — input + .pd2-pay-bullet v .pd2-pay-radio-cell (grid má jen 2 děti: buňka + label)
   ============================================================================= */

.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-option-wrap {
	position: relative;
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) max-content;
	align-items: center;
	column-gap: 14px;
	row-gap: 0;
	padding: 14px 16px !important;
	margin: 0 !important;
	width: 100%;
	box-sizing: border-box !important;
	cursor: pointer;
	background: #fff !important;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	transition: background .12s ease, border-color .12s ease, box-shadow .12s ease !important;
	overflow: visible !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-option-wrap:hover {
	background: #FAFBFC !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-option-wrap:has(input[type="radio"]:checked) {
	background: #E8FAF7 !important;
	border: 1px solid #70C7A4 !important;
	box-shadow: 0 0 0 1px rgba(93, 192, 156, .25) !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-option-wrap:has(input[type="radio"]:checked):hover {
	background: #E8FAF7 !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-radio-cell {
	grid-column: 1 !important;
	grid-row: 1 !important;
	position: relative !important;
	width: 22px !important;
	height: 22px !important;
	justify-self: center !important;
	align-self: center !important;
	flex-shrink: 0 !important;
}

/* Metronic: .c-radio input { visibility:hidden } — bez přepisu nebere kliky a grid se chová divně */
.pd2-checkout .pd2-checkout__radio-list .pd2-pay-radio-cell input[type="radio"] {
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	z-index: 2 !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

/* Kolečko pod transparentním inputem — span musí být block/inset-block, jinak width/height neplatí → 0×0 CB a ::after je „vedle“ */
.pd2-checkout .pd2-checkout__radio-list .pd2-pay-bullet {
	display: block !important;
	position: relative !important;
	width: 22px !important;
	height: 22px !important;
	flex-shrink: 0 !important;
	pointer-events: none !important;
	z-index: 1 !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-bullet::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 22px !important;
	height: 22px !important;
	box-sizing: border-box !important;
	border: 2px solid #9ca3af !important;
	border-radius: 50% !important;
	background: #fff !important;
	z-index: 2 !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-radio-cell input[type="radio"]:checked ~ .pd2-pay-bullet::before {
	border-color: #13856f !important;
	background: #fff !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-pay-radio-cell input[type="radio"]:checked ~ .pd2-pay-bullet::after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	margin: auto !important;
	width: 10px !important;
	height: 10px !important;
	max-width: 10px !important;
	max-height: 10px !important;
	border-radius: 50% !important;
	background: #13856f !important;
	z-index: 3 !important;
	transform: none !important;
	-webkit-transform: none !important;
}

/* Label jen obsah + cena */
.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option {
	grid-column: 2 / 4 !important;
	grid-row: 1 !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content !important;
	align-items: center !important;
	column-gap: 14px !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: #222 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option:hover {
	background: transparent !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option::before,
.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option::after {
	content: none !important;
	display: none !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option > .pd2-pay-option__body {
	grid-column: 1 !important;
	grid-row: 1 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: 100% !important;
}

.pd2-checkout .pd2-checkout__radio-list .pd2-radio-row label.pd2-pay-option > .pd2-pay-option__price {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: end !important;
	align-self: center !important;
}

/* Prostřední blok */
.pd2-checkout .pd2-pay-option__body.pd2-radio-label {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 6px !important;
	min-width: 0 !important;
	flex: none !important;
	width: auto !important;
	max-width: 100% !important;
}

.pd2-checkout .pd2-pay-option__row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
	width: 100%;
	max-width: 100%;
}

.pd2-checkout .pd2-pay-option__row--stack {
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
}

.pd2-checkout .pd2-pay-option__extra {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
	width: 100%;
	max-width: 100%;
	padding-left: 0;
}

.pd2-checkout .pd2-radio-name {
	display: block !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	min-width: 0;
	word-break: break-word;
}

.pd2-checkout .pd2-radio-desc {
	display: block !important;
	font-size: 12px !important;
	color: #6b7280 !important;
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	max-width: 100%;
}

/* Cena — vždy 3. sloupec */
.pd2-checkout .pd2-pay-option__price.pd2-radio-price {
	text-align: right !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding-left: 12px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	color: #222 !important;
	white-space: nowrap !important;
}

/* Vyšší specificita než .pd2-pay-option__price.pd2-radio-price { color: #222 } */
.pd2-checkout .pd2-pay-option__price.pd2-radio-price.pd2-radio-price--free {
	color: #00BA00 !important;
	font-weight: 800 !important;
}

/* Loga — obrázky z /pics/ (GLS, karta); ostatní řádky bez loga */
.pd2-checkout .pd2-radio-logo--gls,
.pd2-checkout .pd2-radio-logo--card {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	flex-shrink: 0;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	min-height: 28px;
	line-height: 0;
}

.pd2-checkout .pd2-radio-logo--card::before,
.pd2-checkout .pd2-radio-logo--card::after {
	content: none !important;
	display: none !important;
}

.pd2-checkout .pd2-pay-logo-img {
	display: block;
	width: auto;
	height: 28px;
	max-width: 88px;
	object-fit: contain;
	vertical-align: middle;
}

.pd2-radio-parcel-link {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #1aa38f !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	margin-top: 2px !important;
}

.pd2-radio-parcel-link.d-none {
	display: none !important;
}

.pd2-radio-parcel-val {
	font-size: 12px !important;
	color: #555 !important;
	line-height: 1.35 !important;
}

/* ── Celkem — výrazná částka vpravo ── */
.pd2-checkout__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding-top: 18px;
	border-top: 2px solid #E8EAED;
	flex-wrap: wrap;
}

.pd2-checkout__total-label {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #374151;
}

.pd2-checkout__total-val {
	font-size: 32px;
	font-weight: 800;
	color: #111;
	white-space: nowrap;
	letter-spacing: -.02em;
}

/* ── Souhlas — kompaktněji ── */
.pd2-checkout__legal {
	margin-top: 18px;
}

.pd2-checkout .pd2-checkout__legal-check label {
	font-size: 12px !important;
	line-height: 1.5 !important;
	color: #4b5563 !important;
	font-weight: 500 !important;
}

/* ── Submit — zelené CTA přes šířku ── */
.pd2-checkout__submit-wrap {
	margin-top: 18px;
}

.pd2-checkout__submit.ulozdek {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 18px 20px 16px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	border-radius: 8px !important;
	border: none !important;
	background: #2BB656 !important;
	color: #fff !important;
	text-decoration: none !important;
	line-height: 1.25 !important;
	transition: background .18s ease !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(43, 182, 86, .28);
}

.pd2-checkout__submit.ulozdek:hover,
.pd2-checkout__submit.ulozdek:focus {
	background: #24a048 !important;
	color: #fff !important;
	text-decoration: none !important;
}

.pd2-checkout__submit-sub {
	display: block;
	font-size: 11px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .88);
	margin-top: 6px;
}

/* ── Prázdný košík ── */
.pd2-checkout__empty {
	padding: 60px 0;
	text-align: center;
}

.pd2-checkout__empty-link {
	display: inline-block;
	margin-top: 20px;
	padding: 12px 28px;
	background: #1aa38f;
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background .2s ease;
}

.pd2-checkout__empty-link:hover {
	background: #158a76;
	color: #fff;
	text-decoration: none;
}

/* =============================================================================
   CHECKOUT – RESPONSIVE
   ============================================================================= */

@media (max-width: 991px) {
	.pd2-checkout__summary {
		position: static;
		top: auto;
		margin-top: 32px;
	}
}

@media (max-width: 640px) {
	.pd2-checkout-page {
		padding-top: 24px;
		padding-bottom: 44px;
	}

	.pd2-checkout__grid.row {
		gap: 28px;
	}

	.pd2-checkout__product {
		grid-template-columns: 56px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		column-gap: 12px;
		row-gap: 10px;
	}

	.pd2-checkout__product-thumb {
		grid-row: 1 / span 2;
	}

	.pd2-checkout__product-body {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.pd2-checkout__product-aside {
		grid-column: 1 / -1;
		grid-row: 3;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		min-width: 0;
		text-align: left;
		/*padding-top: 12px;
		border-top: 1px solid #E8EAED;
		margin-top: 4px;*/
	}

	.pd2-checkout__product-img {
		width: 56px;
		height: 56px;
	}

	.pd2-checkout__total-val {
		font-size: 26px;
	}

	.pd2-checkout__row-two {
		grid-template-columns: 1fr;
	}

	.pd2-checkout__psc-wrap .form-control {
		max-width: 100%;
	}

	.pd2-checkout-nav__title {
		font-size: 12px;
		letter-spacing: .1em;
	}
}

/* ==========================================================================
   HEADER – mobile reset podle původního vzhledu
   ========================================================================== */

@media (max-width: 767px) {
  .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) {
    min-height: auto !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .pd2-topbar-inner {
    display: block !important;
    min-height: 0 !important;
    padding: 0 15px !important;
  }

  .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .c-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    float: none !important;
    width: 100% !important;
    height: 78px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
  }

  .c-layout-header .c-brand .c-logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .c-layout-header .c-brand .c-desktop-logo,
  .c-layout-header .c-brand .c-desktop-logo-inverse {
    display: none !important;
  }

  .c-layout-header .c-brand .c-mobile-logo {
    display: block !important;
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
  }

  .c-layout-header .c-brand .c-topbar-toggler {
    display: none !important;
  }

  .c-layout-header .c-brand #favHeadermob {
    display: inline-flex !important;
    order: 2;
    width: 36px !important;
    height: 36px !important;
    margin: 0 6px 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    background: transparent !important;
    border: 0 !important;
  }

  .c-layout-header .c-brand #favHeadermob .pd2-hicon__img {
    width: 28px !important;
    height: 28px !important;
  }

  .c-layout-header .c-brand #favHeadermob .pd2-hicon__badge {
    top: -6px !important;
    right: -4px !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 11px !important;
    border-radius: 999px !important;
  }

  .c-layout-header .c-brand .c-cart-toggler {
    display: inline-flex !important;
    order: 3;
    width: 36px !important;
    height: 36px !important;
    margin: 0 6px !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    color: #111 !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
	margin-right: 15px !important;
  }

  .c-layout-header .c-brand .c-cart-toggler i {
    font-size: 25px !important;
    line-height: 1 !important;
    color: #111 !important;
  }

  .c-layout-header .c-brand .c-cart-toggler .c-cart-number {
    position: absolute !important;
    right: -4px !important;
    bottom: 1px !important;
    top: auto !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    background: #32C5D2 !important;
    color: #fff !important;
  }

  .c-layout-header .c-brand .c-hor-nav-toggler {
    /*display: inline-flex !important;*/
    order: 4;
    width: 40px !important;
    height: 40px !important;
    margin: 0 0 0 6px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #F4F5F7 !important;
    border: 1px solid #DDE1E7 !important;
    border-radius: 2px !important;
    position: relative !important;
  }

  .c-layout-header .c-brand .c-hor-nav-toggler .c-line {
    display: block !important;
    width: 100% !important;
    height: 2px !important;
    background: #7A8694 !important;
    margin: 3px 0 !important;
  }

  .c-layout-header .c-top-menu.fullwmob {
    display: block !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 0 16px !important;
  }

  .c-layout-header .c-top-menu.fullwmob .c-links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .c-layout-header .c-top-menu.fullwmob .c-links li {
    display: block !important;
    width: 100% !important;
  }

  .c-layout-header .c-top-menu.fullwmob input.search {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    border: 1px solid #DDE1E7 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 16px !important;
    color: #7A8694 !important;
    padding: 0 12px !important;
  }

  .c-layout-header .c-top-menu.fullwmob input.search::placeholder {
    color: #9AA3AD !important;
  }

  .pd2-topbar-phone,
  .pd2-topbar-search,
  .pd2-topbar-actions {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .c-layout-header.c-layout-header-6 .c-topbar .c-brand > .c-logo {
    float: left;
    max-width: 100%;
  }
}

@media (max-width: 991px) {
  .pd2-hicon__badge--fav {
    min-width: 100%;
    height: 100%;
    font-size: 13px;
    color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 800;
    text-align: center;
    line-height: 36px;
  }
}

@media (min-width: 1025px) {
  .pd2-mobile-submenu {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .pd2-megamenu {
    display: none !important;
  }

  .c-layout-header .c-navbar .pd2-mobile-submenu {
    display: none;
  }

  .c-layout-header .c-navbar li.open > .pd2-mobile-submenu,
.c-layout-header .c-navbar li.c-open > .pd2-mobile-submenu {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}
  .c-layout-header .c-topbar:not(.c-slevabar):not(.menutopbar) .search.form-control {
	height: 40px !important;
  box-shadow: none !important;
  border-radius: 5px !important;
  font-size: 16px;
  padding: 0 18px;
  background: transparent;
  color: #888888;
  width: 100%;
  max-width: 350px;
  border: 1px solid #DDE1E7 !important
}
}
@media (max-width: 1024px) {
  .c-layout-header .c-navbar li.c-active:not(.open):not(.c-open) > .pd2-mobile-submenu {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .pd2-has-mega.open > .pd2-megamenu,
  .pd2-has-mega.c-open > .pd2-megamenu {
    display: none !important;
  }

  .pd2-has-mega:hover > .pd2-megamenu {
    display: block !important;
  }
}

@media (max-width: 1024px) {
  .pd2-megamenu {
    display: none !important;
  }

  .c-layout-header .c-navbar .pd2-mobile-submenu {
    position: static !important;
    display: none;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    background: #343c44;
  }

  .c-layout-header .c-navbar li.open > .pd2-mobile-submenu,
  .c-layout-header .c-navbar li.c-open > .pd2-mobile-submenu,
  .c-layout-header .c-navbar li.c-active > .pd2-mobile-submenu {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .c-layout-header .c-navbar .pd2-mobile-submenu > li > a {
    display: block;
    padding: 13px 38px;
    color: #d9e1ea;
    font-size: 14px;
    line-height: 1.4;
    text-transform: uppercase;
  }
}

@media (max-width: 1024px) {

  .c-layout-header .c-navbar .pd2-has-mega > .pd2-navitem__toggle {
    position: relative;
    padding-right: 46px !important;
  }

  .c-layout-header .c-navbar .pd2-has-mega > .pd2-navitem__toggle > .c-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: FontAwesome;
    font-size: 14px;
    font-weight: 300;
    line-height: 1;

    color: rgba(255,255,255,.75);
  }

  /* default */
  .c-layout-header .c-navbar .pd2-has-mega > .pd2-navitem__toggle > .c-arrow::before {
    content: "\f107";
  }

  /* otevřeno */
  .c-layout-header .c-navbar .pd2-has-mega.open > .pd2-navitem__toggle > .c-arrow::before,
  .c-layout-header .c-navbar .pd2-has-mega.c-open > .pd2-navitem__toggle > .c-arrow::before {
    content: "\f106";
  }
}

@media (max-width: 480px) {
  .pd2-listing .pd2-card__body {
    padding: 5px 10px 12px;
  }

  .pd2-listing .pd2-card__name {
    font-size: 17px;
    line-height: 1.25;
    margin-bottom: 6px;
    min-height: 42px;
  }

  .pd2-listing .pd2-card__price {
    font-size: 14px;
    line-height: 1.25;
    margin-bottom: 10px;
  }

  .pd2-listing .pd2-card__btn {
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .04em;
    padding: 10px 8px;
    border-radius: 4px;
  }

  .pd2-listing .pd2-card__badge {
    font-size: 10px;
    padding: 6px 8px;
  }
}

@media (max-width: 480px) {
  .pd2-listing .pd2-card__btn {
    white-space: nowrap;
  }
}

/* Checkout – produktové řádky podle Figmy */
.pd2-checkout__product {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  column-gap: 20px;
  align-items: start;
  padding: 22px 0;
}

.pd2-checkout__product-thumb {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.pd2-checkout__product-img {
  width: 112px;
  height: 86px;
  object-fit: contain;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.pd2-checkout__product-body {
  grid-column: 2;
  grid-row: 1 / span 2;
  gap: 12px;
}

.pd2-checkout__product-name {
  font-size: 16px;
  font-weight: 400;
  color: #3F444A;
  line-height: 1.25;
}

.pd2-checkout__product-dim {
  font-size: 16px;
  font-weight: 400;
  color: #3F444A;
  line-height: 1.25;
  margin-top: 2px;
}

.pd2-checkout__product-aside {
  grid-column: 3;
  grid-row: 1 / span 2;
  min-width: 88px;
  gap: 18px;
}

.pd2-checkout__line-price {
  font-size: 16px;
  font-weight: 700;
  color: #3F444A;
}

.pd2-checkout__remove.pd2-checkout__remove-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  color: #3F444A;
  border: 1px solid #3F444A;
  font-size: 0;
}
.pd2-checkout__line-price {
  margin: 0;
  white-space: nowrap;
}
.pd2-checkout__remove.pd2-checkout__remove-icon i {
  font-size: 10px;
}

.pd2-checkout__qty-wrap {
  height: 30px;
  border-radius: 8px;
}

.pd2-qty-btn {
  width: 30px;
  height: 30px;
  font-size: 16px;
  background: #F7F7F7;
}

.pd2-checkout__qty-input {
  width: 38px;
  height: 30px;
  font-size: 16px !important;
}

.pd2-checkout__divider {
  background: #E2E2E2;
}

.pd2-checkout__product {
  grid-template-columns: 125px minmax(0, 1fr) auto;
}

.pd2-checkout__product-img {
  /*width: 125px;*/
  height: 90px;
}

/* Breadcrumbs */
.drobky-vypis {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.drobky-vypis li {
  font-size: 14px;
  font-weight: 400;
  color: #5C6873;
  line-height: 1.4;
}

.drobky-vypis li a {
  color: #5C6873;
  text-decoration: none;
  transition: color .2s ease;
}

.drobky-vypis li a:hover {
  color: #5C6873;
}

.drobky-vypis li + li::before {
  content: "/";
  margin: 0 10px;
  color: #B5BDC8;
}

@media (min-width: 992px) {
  .pd2-checkout-mode .c-navbar {
    display: none !important;
  }
}

@media (min-width: 992px) {

  .pd2-checkout-mode .pd2-topbar-inner {
    justify-content: space-between;
  }

  .pd2-checkout-mode .pd2-topbar-phone {
    margin-left: auto;
  }

}

.pd2-radio-logo--applepay,
.pd2-radio-logo--googlepay {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	flex-shrink: 0;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	min-height: 28px;
	line-height: 0;
}