/* ==========================================================================
   PivkoDomu.cz – šablona v2 (nový design 2026)
   Tokeny: bílá plocha, inkoust #111, žlutá z loga #F2E500 jako jediný akcent,
   písmo Plus Jakarta Sans. Bootstrap 4 zůstává načtený jen kvůli modálům
   a formulářům; všechno viditelné přebíjí tento soubor.
   ========================================================================== */

:root {
	--pd-ink: #111111;
	--pd-ink-2: #3D3D3A;
	--pd-muted: #6B6B66;
	--pd-line: #E6E6E3;
	--pd-line-2: #F0F0EE;
	--pd-bg: #FFFFFF;
	--pd-bg-2: #F4F4F2;
	--pd-yellow: #F2E500;
	--pd-yellow-2: #FFF9C2;
	--pd-green: #2E6B2F;
	--pd-red: #B3261E;
	--pd-radius: 20px;
	--pd-radius-s: 12px;
	--pd-font: 'Plus Jakarta Sans', system-ui, -apple-system, "Segoe UI", sans-serif;
	--pd-wrap: 1280px;
	--pd-gutter: 16px;
}

html { -webkit-text-size-adjust: 100%; }
body.pd-body {
	margin: 0;
	font-family: var(--pd-font);
	font-size: 15px;
	line-height: 1.5;
	color: var(--pd-ink);
	background: var(--pd-bg);
	-webkit-font-smoothing: antialiased;
}
.pd-body h1, .pd-body h2, .pd-body h3, .pd-body h4 { font-family: var(--pd-font); color: var(--pd-ink); letter-spacing: -0.02em; line-height: 1.15; margin: 0; font-weight: 800; }
.pd-body p { margin: 0; }
.pd-body a { color: var(--pd-ink); text-decoration: none; }
.pd-body a:hover { color: #8A7A00; }
.pd-body img { max-width: 100%; height: auto; }
.pd-body button, .pd-body input, .pd-body select { font-family: var(--pd-font); }
.pd-sr { position: absolute; left: -9999px; }
.pd-wrap { width: 100%; max-width: var(--pd-wrap); margin: 0 auto; padding: 0 var(--pd-gutter); box-sizing: border-box; }
.pd-muted { color: var(--pd-muted); font-size: 14px; }
.pd-link { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.pd-dot { display: inline-block; width: 7px; height: 7px; border-radius: 999px; background: var(--pd-yellow); margin-right: 8px; vertical-align: middle; }
.pd-dot--green { background: var(--pd-green); }

/* --- tlačítka ------------------------------------------------------------- */
.pd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 48px; padding: 0 22px; border-radius: 999px; border: 0;
	font-family: var(--pd-font); font-size: 15px; font-weight: 700; line-height: 1;
	cursor: pointer; text-decoration: none; white-space: nowrap; transition: transform .08s ease, background .15s ease, color .15s ease;
	box-sizing: border-box;
}
.pd-btn:active { transform: translateY(1px); }
.pd-btn--yellow, .pd-body a.pd-btn--yellow { background: var(--pd-yellow); color: var(--pd-ink); }
.pd-btn--yellow:hover, .pd-body a.pd-btn--yellow:hover { background: #E4D800; color: var(--pd-ink); }
.pd-btn--dark, .pd-body a.pd-btn--dark { background: var(--pd-ink); color: #fff; }
.pd-btn--dark:hover, .pd-body a.pd-btn--dark:hover { background: #2A2A28; color: #fff; }
.pd-btn--outline, .pd-body a.pd-btn--outline { background: #fff; color: var(--pd-ink); border: 1.5px solid var(--pd-ink); }
.pd-btn--outline:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-btn--ghost, .pd-body a.pd-btn--ghost { background: transparent; color: #fff; border: 1.5px solid #fff; }
.pd-btn--ghost:hover, .pd-body a.pd-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff; }
.pd-btn--sm { height: 44px; padding: 0 18px; font-size: 14px; }
.pd-btn--lg { height: 54px; padding: 0 28px; font-size: 16px; }
.pd-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--pd-ink); color: var(--pd-yellow); font-size: 12px; font-weight: 800; line-height: 1; }
.pd-badge--dark { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-tag { position: absolute; top: 12px; left: 12px; display: inline-block; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1; }
.pd-tag--yellow { background: var(--pd-yellow); color: var(--pd-ink); }
.pd-tag--dark { background: var(--pd-ink); color: #fff; }

/* --- hlavička ------------------------------------------------------------- */
.pd-header { position: relative; z-index: 1000; background: var(--pd-ink); color: #fff; box-shadow: 0 0 0 rgba(0,0,0,0); transition: box-shadow .2s ease; }
.pd-header.is-scrolled { box-shadow: 0 6px 24px rgba(0,0,0,.18); }
.pd-topbar { border-bottom: 1px solid #2A2A28; font-size: 13px; font-weight: 500; color: #D4D4D0; }
.pd-topbar__in { display: flex; justify-content: center; gap: 24px; height: 34px; align-items: center; white-space: nowrap; overflow: hidden; }
.pd-topbar__in span { display: inline-flex; align-items: center; }
.pd-header__main { display: flex; align-items: center; gap: 20px; height: 76px; }
.pd-burger { display: none; width: 44px; height: 44px; border: 0; background: transparent; color: #fff; align-items: center; justify-content: center; border-radius: 12px; cursor: pointer; }
.pd-logo { display: inline-flex; align-items: center; background: #fff; padding: 8px 12px; border-radius: 12px; flex-shrink: 0; }
.pd-logo img { height: 30px; width: auto; display: block; }
.pd-search { flex: 1 1 auto; position: relative; min-width: 0; }
.pd-search form { display: flex; align-items: center; height: 48px; background: #fff; border-radius: 999px; padding: 0 6px 0 16px; gap: 10px; margin: 0; }
.pd-search__ico { color: var(--pd-muted); flex-shrink: 0; }
.pd-search input[type="text"] { flex: 1 1 auto; min-width: 0; height: 40px; border: 0; outline: 0; background: transparent; font-size: 15px; color: var(--pd-ink); padding: 0; }
.pd-search .submit { height: 38px; padding: 0 16px; }
.pd-search .whisper { position: absolute; left: 0; right: 0; top: 54px; background: #fff; color: var(--pd-ink); border-radius: var(--pd-radius-s); box-shadow: 0 12px 40px rgba(0,0,0,.2); z-index: 20; }
.pd-search .whisper:empty { display: none; }
.pd-user { padding: 0; margin: 0; flex-shrink: 0; }
.pd-user__list { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.pd-user__item { position: relative; }
.pd-user__link { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border-radius: 999px; color: #fff !important; font-size: 14px; font-weight: 600; }
.pd-user__link:hover { background: #2A2A28; }
.pd-user__menu { display: none; position: absolute; right: 0; top: 48px; min-width: 200px; background: #fff; color: var(--pd-ink); border-radius: var(--pd-radius-s); box-shadow: 0 12px 40px rgba(0,0,0,.2); padding: 8px; list-style: none; margin: 0; z-index: 30; }
.pd-user__account:hover .pd-user__menu, .pd-user__account:focus-within .pd-user__menu { display: block; }
.pd-user__menu a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.pd-user__menu a:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-cart__btn { height: 44px; padding: 0 16px; }
.pd-cart__balloon { display: none; position: absolute; right: 0; top: 52px; width: 360px; background: #fff; color: var(--pd-ink); border-radius: var(--pd-radius); box-shadow: 0 16px 48px rgba(0,0,0,.22); padding: 16px; z-index: 40; }
.pd-cart:hover .pd-cart__balloon { display: block; }
.pd-cart__balloon .bName { display: block; font-weight: 800; margin-bottom: 8px; }
.pd-cart__balloon .productRow { padding: 8px 0; border-bottom: 1px solid var(--pd-line); }
.pd-cart__balloon .item-name { display: flex; align-items: center; gap: 10px; }
.pd-cart__balloon .name a { font-weight: 600; font-size: 14px; }
.pd-cart__balloon .more { display: block; font-size: 13px; color: var(--pd-muted); margin-top: 4px; }
.pd-cart__balloon .remove { border: 0; background: transparent; color: var(--pd-muted); cursor: pointer; float: right; margin-top: -30px; }
.pd-cart__balloon .buttonOrder { display: flex; justify-content: center; align-items: center; height: 44px; margin-top: 12px; border-radius: 999px; background: var(--pd-yellow); color: var(--pd-ink); font-weight: 700; }
.pd-cart__balloon .note { color: var(--pd-muted); padding: 8px 0; }

.pd-nav { background: #fff; color: var(--pd-ink); border-bottom: 1px solid var(--pd-line); }
.pd-nav__in { display: flex; align-items: center; gap: 2px; height: 52px; }
.pd-nav__item { position: relative; }
.pd-nav__link { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 13px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--pd-ink); white-space: nowrap; }
.pd-nav__link:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-nav__link--hl { background: var(--pd-yellow-2); }
.pd-body a.pd-nav__link--muted { color: var(--pd-muted); font-weight: 500; }
.pd-nav__spacer { flex: 1 1 auto; }
.pd-nav__sub { display: none; position: absolute; left: 0; top: 50px; min-width: 240px; background: #fff; border-radius: var(--pd-radius-s); box-shadow: 0 12px 40px rgba(0,0,0,.16); padding: 8px; z-index: 30; }
.pd-nav__item:hover .pd-nav__sub, .pd-nav__item:focus-within .pd-nav__sub { display: block; }
.pd-nav__sub a { display: block; padding: 10px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; }
.pd-nav__sub a:hover { background: var(--pd-bg-2); color: var(--pd-ink); }

.pd-flash { margin-top: 16px; padding: 14px 18px; border-radius: var(--pd-radius-s); font-weight: 600; }
.pd-flash--ok { background: #E6F4E6; color: var(--pd-green); }
.pd-flash--err { background: #FBE9E7; color: var(--pd-red); }

/* --- homepage -------------------------------------------------------------- */
.pd-hero { display: grid; grid-template-columns: minmax(0, 1fr) 460px; align-items: center; background: var(--pd-ink); color: #fff; border-radius: 28px; margin-top: 20px; overflow: hidden; min-height: 380px; }
.pd-hero__text { display: flex; flex-direction: column; gap: 18px; padding: 44px 48px; }
.pd-eyebrow { display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--pd-yellow); }
.pd-hero h1 { color: #fff; font-size: 60px; line-height: 1; letter-spacing: -0.03em; }
.pd-hero p { font-size: 18px; line-height: 1.5; color: #D4D4D0; max-width: 520px; }
.pd-hero__cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.pd-hero__media { height: 100%; min-height: 380px; background: #fff; display: flex; align-items: flex-end; justify-content: center; gap: 18px; padding: 16px 20px 0; overflow: hidden; }
.pd-hero__media img { height: 330px; width: auto; object-fit: contain; display: block; }
.pd-hero__media a:nth-child(2) img { height: 290px; }
.pd-hero__media a:nth-child(3) img { height: 310px; }

.pd-chooser { margin-top: 20px; padding: 26px 28px 28px; background: var(--pd-bg-2); border-radius: 28px; display: flex; flex-direction: column; gap: 16px; }
.pd-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.pd-section__head h2 { font-size: 28px; }
.pd-styles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pd-style { display: flex; align-items: center; gap: 12px; height: 96px; padding: 0 14px 0 10px; background: #fff; border: 1px solid var(--pd-line); border-radius: 18px; color: var(--pd-ink); transition: border-color .15s ease, transform .08s ease; }
.pd-style:hover { border-color: var(--pd-ink); color: var(--pd-ink); }
.pd-style__img { display: flex; align-items: center; justify-content: center; width: 68px; height: 84px; flex-shrink: 0; overflow: hidden; }
.pd-style__img img { height: 80px; width: auto; object-fit: contain; }
.pd-style__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pd-style__name { font-size: 17px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; }
.pd-style__meta { font-size: 12.5px; color: var(--pd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pd-chips__label { font-size: 14px; font-weight: 700; margin-right: 4px; }
.pd-chip { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 15px; background: #fff; border: 1px solid var(--pd-line); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--pd-ink); white-space: nowrap; }
.pd-chip:hover { border-color: var(--pd-ink); color: var(--pd-ink); }
.pd-chip--dark, .pd-body a.pd-chip--dark { background: var(--pd-ink); color: #fff; border-color: var(--pd-ink); }
.pd-chip--dark:hover, .pd-body a.pd-chip--dark:hover { color: #fff; background: #2A2A28; }
.pd-chip__n { color: var(--pd-muted); font-weight: 500; }
.pd-chip--dark .pd-chip__n { color: var(--pd-yellow); }
.pd-chips--scroll { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; scrollbar-width: none; }
.pd-chips--scroll::-webkit-scrollbar { display: none; }

.pd-section { margin-top: 44px; display: flex; flex-direction: column; gap: 18px; }
.pd-grid { display: grid; gap: 18px; }
.pd-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#aItems .pd-grid + .pd-grid { margin-top: 18px; }

.pd-benefits { margin-top: 44px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pd-benefit { display: flex; gap: 14px; align-items: flex-start; padding: 20px; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); }
.pd-benefit__ico { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; background: var(--pd-yellow); display: flex; align-items: center; justify-content: center; color: var(--pd-ink); }
.pd-benefit div { display: flex; flex-direction: column; gap: 3px; }
.pd-benefit strong { font-size: 16px; font-weight: 800; }
.pd-benefit span:not(.pd-benefit__ico) { font-size: 14px; color: var(--pd-muted); line-height: 1.45; }

.pd-newsletter { margin: 48px auto 0; padding: 34px 40px; background: var(--pd-yellow); border-radius: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; max-width: calc(var(--pd-wrap) - 2 * var(--pd-gutter)); }
.pd-newsletter__text { display: flex; flex-direction: column; gap: 6px; max-width: 620px; }
.pd-newsletter h2 { font-size: 26px; }
.pd-newsletter p { color: var(--pd-ink-2); }

/* --- produktová karta ------------------------------------------------------ */
.pd-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); overflow: hidden; min-width: 0; transition: box-shadow .15s ease, border-color .15s ease; }
.pd-card:hover { border-color: #CFCFCB; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.pd-card__media { position: relative; display: flex; align-items: center; justify-content: center; height: 260px; background: #fff; border-bottom: 1px solid var(--pd-line-2); }
.pd-card__media img { max-height: 230px; width: auto; max-width: 90%; object-fit: contain; }
.pd-card.is-soldout .pd-card__media img { opacity: .4; }
.pd-card__body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; flex: 1 1 auto; }
.pd-card__brewery { font-size: 12px; font-weight: 600; color: var(--pd-muted); }
.pd-card__name { font-size: 17px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; margin: 0; }
.pd-card__name a { color: var(--pd-ink); }
.pd-card__meta { font-size: 13px; color: var(--pd-muted); }
.pd-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; }
.pd-card__pricebox { display: flex; flex-direction: column; min-width: 0; }
.pd-card__price { font-size: 21px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
.pd-card.is-soldout .pd-card__price { color: #8C8C88; }
.pd-card__stock { font-size: 12px; font-weight: 600; margin-top: 3px; }
.pd-card__stock .text-green { color: var(--pd-green); }
.pd-card__stock .color-red { color: #8C8C88; }
.pd-card__buy { flex-shrink: 0; }

/* --- výpis kategorie ------------------------------------------------------- */
.breadcrumbs { padding: 18px 0 0; font-size: 13px; color: var(--pd-muted); }
.breadcrumbs ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.breadcrumbs a { color: var(--pd-muted); }
.breadcrumbs .fa { font-size: 10px; margin: 0 4px; }
.pd-category__head { display: flex; flex-direction: column; gap: 14px; margin-top: 12px; }
.pd-category__head h1 { font-size: 44px; }
.pd-category__intro { font-size: 15px; color: var(--pd-ink-2); max-width: 760px; line-height: 1.5; }
.pd-category__intro p { margin: 0 0 6px; }
.pd-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 22px 0 16px; flex-wrap: wrap; }
.pd-toolbar__count { font-size: 15px; }
.pd-sort { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; margin: 0; }
.pd-sort select { height: 40px; padding: 0 12px; border: 1px solid var(--pd-line); border-radius: 999px; background: #fff; font-size: 14px; }
.pd-loading { display: none; text-align: center; padding: 20px; }
.pd-spinner { display: inline-block; width: 28px; height: 28px; border: 3px solid var(--pd-line); border-top-color: var(--pd-ink); border-radius: 999px; animation: pdspin .8s linear infinite; }
@keyframes pdspin { to { transform: rotate(360deg); } }
.pd-showmore { display: flex; justify-content: center; margin: 28px 0 8px; }
.pd-empty { text-align: center; padding: 60px 20px; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.pd-empty h2 { font-size: 24px; }
.pd-empty p { color: var(--pd-muted); }

/* --- patička --------------------------------------------------------------- */
.pd-footer { margin-top: 56px; background: var(--pd-ink); color: #D4D4D0; padding: 48px 0 28px; }
.pd-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; }
.pd-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.5; }
.pd-footer__col h3 { font-size: 16px; color: var(--pd-yellow); }
.pd-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pd-footer__col a { color: #fff; }
.pd-footer__col a:hover { color: var(--pd-yellow); }
.pd-footer__logo { display: inline-flex; background: #fff; padding: 6px 10px; border-radius: 10px; align-self: flex-start; }
.pd-footer__logo img { height: 28px; width: auto; }
.pd-footer address { font-style: normal; }
.pd-footer__small { font-size: 12px; color: #9A9A95; }
.pd-footer__social { font-weight: 600; }
.pd-footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid #3D3D3A; margin-top: 32px; padding-top: 20px; font-size: 13px; color: #9A9A95; }

/* --- modály a formuláře ze starého CMS (eshop.js) --------------------------- */
.pd-body .modal-content { border: 0; border-radius: var(--pd-radius); font-family: var(--pd-font); }
.pd-body .modal-header { border-bottom: 1px solid var(--pd-line); }
.pd-body .modal-title { font-weight: 800; }
.pd-body .modal-footer { border-top: 1px solid var(--pd-line); }
.pd-body .btn { border-radius: 999px; font-weight: 700; font-family: var(--pd-font); }
.pd-body .btn-success, .pd-body .orangeBtn, .pd-body .btn-pink { background: var(--pd-yellow) !important; color: var(--pd-ink) !important; border: 0 !important; }
.pd-body .btn-danger { background: #fff !important; color: var(--pd-ink) !important; border: 1.5px solid var(--pd-ink) !important; }
.pd-body .form-control { border-radius: 12px; border: 1px solid var(--pd-line); min-height: 46px; font-family: var(--pd-font); }
.pd-body .form-control:focus { border-color: var(--pd-ink); box-shadow: none; }
.page_loader { display: none; position: fixed; inset: 0; background: rgba(255,255,255,.7); z-index: 99999; }
.layer_login { display: none; position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.5); }
.layer_login .block { max-width: 420px; margin: 8vh auto; background: #fff; border-radius: var(--pd-radius); padding: 28px; position: relative; }
.layer_login .overinner { top: auto !important; }
.layer_login h2 { font-size: 24px; margin-bottom: 16px; }
.layer_login .ic_close_login { position: absolute; right: 14px; top: 10px; cursor: pointer; font-size: 18px; }
.layer_login .lost { margin-top: 14px; font-size: 14px; }
.layer_login .remember-me-wrapper { margin: 12px 0; font-size: 14px; }
.layer_login #userLogin { width: 100%; height: 48px; border-radius: 999px; border: 0; }
.password-wrapper-login { position: relative; }
.toggle-password-login { position: absolute; right: 14px; top: 12px; cursor: pointer; color: var(--pd-muted); }

/* --- responzivita ---------------------------------------------------------- */
@media (max-width: 1100px) {
	.pd-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pd-styles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-hero { grid-template-columns: minmax(0, 1fr) 360px; }
	.pd-hero h1 { font-size: 48px; }
	.pd-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.pd-header { position: sticky; top: 0; }
	.pd-topbar__in { justify-content: flex-start; gap: 18px; font-size: 12px; overflow-x: auto; scrollbar-width: none; }
	.pd-topbar__in::-webkit-scrollbar { display: none; }
	.pd-header__main { height: auto; flex-wrap: wrap; gap: 8px 6px; padding-top: 8px; padding-bottom: 10px; }
	.pd-burger { display: inline-flex; order: 1; }
	.pd-logo { order: 2; padding: 6px 10px; }
	.pd-logo img { height: 26px; }
	.pd-user { order: 3; margin-left: auto; }
	.pd-user__label, .pd-cart__label { display: none; }
	.pd-user__link { padding: 0 10px; }
	.pd-cart__btn { padding: 0 12px; }
	.pd-cart__balloon { display: none !important; }
	.pd-search { order: 4; flex-basis: 100%; }
	.pd-search form { height: 44px; }
	.pd-nav { display: none; }
	.pd-nav.is-open { display: block; }
	.pd-nav__in { flex-direction: column; align-items: stretch; height: auto; padding-top: 6px; padding-bottom: 10px; gap: 0; }
	.pd-nav__link { height: 46px; width: 100%; justify-content: space-between; border-radius: 10px; }
	.pd-nav__link--hl { justify-content: flex-start; }
	.pd-nav__sub { position: static; display: none; box-shadow: none; padding: 0 0 6px 14px; }
	.pd-nav__item.is-open .pd-nav__sub { display: block; }
	.pd-nav__item:hover .pd-nav__sub { display: none; }
	.pd-nav__item.is-open:hover .pd-nav__sub { display: block; }
	.pd-nav__spacer { display: none; }
	.pd-hero { grid-template-columns: 1fr; margin-top: 12px; border-radius: 22px; min-height: 0; }
	.pd-hero__text { padding: 24px 20px 20px; gap: 12px; }
	.pd-hero h1 { font-size: 38px; }
	.pd-hero p { font-size: 15px; }
	.pd-hero__media { min-height: 0; height: 190px; gap: 10px; padding: 10px 12px 0; }
	.pd-hero__media img, .pd-hero__media a:nth-child(2) img, .pd-hero__media a:nth-child(3) img { height: 170px; }
	.pd-chooser { padding: 18px 12px 16px; border-radius: 22px; margin-top: 12px; gap: 12px; }
	.pd-section__head h2 { font-size: 22px; }
	.pd-styles { display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -12px; padding: 0 12px 4px; }
	.pd-styles::-webkit-scrollbar { display: none; }
	.pd-style { flex: 0 0 auto; flex-direction: column; width: 104px; height: auto; padding: 8px 6px 10px; gap: 6px; text-align: center; border-radius: 16px; }
	.pd-style__img { width: auto; height: 84px; }
	.pd-style__text { align-items: center; }
	.pd-style__name { font-size: 13px; white-space: normal; }
	.pd-style__meta { font-size: 11px; }
	.pd-style__text { width: 100%; }
	.pd-style__meta { max-width: 100%; }
	.pd-style__sample { display: none; }
	.pd-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -12px; padding: 0 12px 4px; }
	.pd-chips::-webkit-scrollbar { display: none; }
	.pd-section { margin-top: 26px; gap: 12px; }
	.pd-grid { gap: 12px; }
	.pd-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-card__media { height: 170px; }
	.pd-card__media img { max-height: 148px; }
	.pd-card__body { padding: 10px 12px 12px; }
	.pd-card__name { font-size: 15px; }
	.pd-card__price { font-size: 18px; }
	.pd-card__stock { display: none; }
	.pd-card__buy .pd-btn { width: 44px; height: 44px; padding: 0; border-radius: 999px; font-size: 0; }
	.pd-card__buy .pd-btn::before { content: "+"; font-size: 24px; font-weight: 700; line-height: 1; }
	.pd-card.is-soldout .pd-card__buy .pd-btn::before { content: "\2691"; font-size: 18px; }
	.pd-benefits { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }
	.pd-benefit { padding: 14px; align-items: center; }
	.pd-benefit__ico { width: 40px; height: 40px; }
	.pd-newsletter { margin-top: 24px; padding: 22px 20px; border-radius: 22px; }
	.pd-newsletter h2 { font-size: 22px; }
	.pd-newsletter .pd-btn { width: 100%; }
	.pd-category__head h1 { font-size: 30px; }
	.pd-toolbar { margin: 16px 0 12px; }
	.pd-footer { margin-top: 32px; padding: 28px 0 20px; }
	.pd-footer__grid { grid-template-columns: 1fr; gap: 22px; }
	.pd-footer__bottom { flex-direction: column; gap: 6px; }
}

/* --- cookie lišta (markup includes/cookie.tpl, chování v eshop.js) ----------- */
.__lCook { display: none; }
.__lCookContent { display: none; position: fixed; inset: 0; background: rgba(17,17,17,.55); z-index: 999999998; }
.__cookieBox { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; overflow-y: auto; box-sizing: border-box; z-index: 999999999; }
.__lCook #__cookieMessage { width: 100%; max-width: 640px; max-height: 100%; overflow-y: auto; background: #fff; border-radius: 22px; padding: 28px; box-sizing: border-box; box-shadow: 0 24px 60px rgba(0,0,0,.3); font-family: var(--pd-font); }
.__lCook .__cookieSettings { display: none; font-size: 14px; line-height: 1.5; color: var(--pd-ink-2); }
.__lCook .__cookieTL h2, .__lCook .__cookieSettings h2 { font-size: 20px; font-weight: 800; margin: 0 0 8px; color: var(--pd-ink); }
.__panelCookies { display: block; margin-top: 12px; }
.__panelCookies .__panelC { position: relative; padding: 14px 0; border-top: 1px solid var(--pd-line); }
.__panelCookies .__panelC h2 { font-size: 16px; padding-right: 130px; margin-bottom: 4px; }
.__panelCookies .__panelC .__panelOpt { font-size: 13px; color: var(--pd-muted); line-height: 1.45; }
.__panelCookies .__panelC .__panelST { position: absolute; right: 0; top: 14px; }
.__panelCookies .__panelC .__panelST span { font-size: 12px; font-weight: 700; color: var(--pd-green); }
.__panelCookies .checkbox-toggle.-large input { position: absolute; visibility: hidden; }
.__panelCookies .checkbox-toggle.-large input + label { position: relative; display: block; width: 52px; height: 30px; margin: 0; cursor: pointer; }
.__panelCookies .checkbox-toggle.-large input + label:before { content: ''; position: absolute; inset: 0; border-radius: 999px; background: #C9C9C4; transition: background .2s ease; }
.__panelCookies .checkbox-toggle.-large input + label:after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 999px; background: #fff; transition: left .2s ease; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.__panelCookies .checkbox-toggle.-large input:checked + label:before { background: var(--pd-ink); }
.__panelCookies .checkbox-toggle.-large input:checked + label:after { left: 25px; }
.__lCook .__cookieTL { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999999; background: #fff; border: 1px solid var(--pd-line); border-radius: 22px; padding: 20px 22px; box-shadow: 0 16px 48px rgba(0,0,0,.18); display: flex; align-items: center; gap: 24px; font-size: 13px; line-height: 1.45; color: var(--pd-ink-2); max-width: var(--pd-wrap); margin: 0 auto; font-family: var(--pd-font); }
.__lCook .__cookieTL h2 { font-size: 16px; margin-bottom: 4px; }
.__lCook .__cookieTL p { margin: 0; }
.__lCook .__cookieTLeft { flex: 1 1 auto; }
.__lCook .__cookieTRight { flex-shrink: 0; }
.__lCook .__cookieTR { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pd-line); }
.__lCook .__cookieTRight .__cookieTR { margin: 0; padding: 0; border: 0; flex-direction: column; }
.__lCook .__cookieTR a.__cookiesNlink { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 18px; border-radius: 999px; background: #fff; border: 1.5px solid var(--pd-ink); color: var(--pd-ink); font-size: 14px; font-weight: 700; white-space: nowrap; }
.__lCook .__cookieTR a.__cookiesNlink.__cookiesSuccess, .__lCook .__cookieTR a.__cookiesNlink.__cookiesEnableAll { background: var(--pd-yellow); border-color: var(--pd-yellow); }
.__lCook .__cookieTR a.__cookiesNlink:hover { background: var(--pd-bg-2); }
.__lCook .__cookieTR a.__cookiesNlink.__cookiesSuccess:hover { background: #E4D800; }
.__lCook .__cnl { text-decoration: underline; color: var(--pd-ink); }
@media (max-width: 1023px) {
	.__lCook .__cookieTL { flex-direction: column; align-items: stretch; left: 8px; right: 8px; bottom: 8px; padding: 16px; gap: 10px; }
	.__lCook .__cookieTRight .__cookieTR { flex-direction: row; }
	.__lCook .__cookieTR a.__cookiesNlink { flex: 1 1 auto; }
	.__lCook #__cookieMessage { padding: 20px 16px; }
}

/* --- mobil: hlavička v jednom řádku, kratší úvod kategorie ------------------ */
@media (max-width: 1023px) {
	.pd-header__main { flex-wrap: wrap; gap: 6px 4px; }
	.pd-logo { padding: 5px 8px; }
	.pd-logo img { height: 22px; }
	.pd-user__link { padding: 0 8px; }
	.pd-user__list { gap: 0; }
	.pd-cart__btn { padding: 0 10px; height: 40px; }
	.pd-category__intro { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; }
}

/* --- detail produktu ------------------------------------------------------- */
.pd-dot--grey { background: #8C8C88; }
.pd-chip--sm { height: 34px; padding: 0 12px; font-size: 13px; }
.pd-product__grid { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 1fr); gap: 48px; margin-top: 16px; align-items: start; }
.pd-product__gallery { display: flex; flex-direction: column; gap: 10px; }
.pd-product__image { position: relative; display: flex; align-items: center; justify-content: center; height: 560px; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); overflow: hidden; }
.pd-product__image img { max-height: 500px; width: auto; max-width: 90%; object-fit: contain; }
.is-soldout .pd-product__image img { opacity: .4; }
.pd-product__fav { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 999px; background: #fff; border: 1px solid var(--pd-line); display: flex; align-items: center; justify-content: center; color: var(--pd-ink); }
.pd-product__fav.active { background: var(--pd-yellow); border-color: var(--pd-yellow); }
.pd-product__thumbs { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.pd-product__thumbs li a { display: flex; align-items: center; justify-content: center; width: 72px; height: 88px; border: 1px solid var(--pd-line); border-radius: 12px; overflow: hidden; }
.pd-product__thumbs img { max-height: 76px; width: auto; }
.pd-product__info { display: flex; flex-direction: column; gap: 14px; }
.pd-product__brewery { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pd-muted); }
.pd-product__title { font-size: 42px; line-height: 1.05; letter-spacing: -0.02em; margin: 0; }
.is-soldout .pd-product__title { color: var(--pd-muted); }
.pd-product__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.pd-product__lead { font-size: 16px; line-height: 1.55; color: var(--pd-ink-2); }
.pd-buybox { display: flex; flex-direction: column; gap: 14px; padding: 22px; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); margin: 0; }
.pd-buybox__label { font-size: 13px; font-weight: 700; margin: 0; }
.pd-select { height: 48px; border-radius: 12px; }
.pd-buybox__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pd-price { font-size: 38px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.pd-buybox__price--soldout .pd-price { color: #8C8C88; }
.pd-price__unit { font-size: 13px; color: var(--pd-muted); }
.pd-buybox__stock { display: flex; align-items: center; gap: 6px; font-size: 14px; flex-wrap: wrap; }
.pd-buybox__stock .text-green { color: var(--pd-green); }
.pd-soldout__label { color: var(--pd-muted); font-weight: 700; }
.pd-buybox__row { display: flex; gap: 10px; align-items: center; }
.pd-qty { display: inline-flex; align-items: center; height: 54px; border: 1.5px solid var(--pd-ink); border-radius: 999px; overflow: hidden; flex-shrink: 0; background: #fff; }
.pd-qty__btn { width: 48px; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 22px; cursor: pointer; user-select: none; }
.pd-qty__input { width: 44px; height: 100%; border: 0; text-align: center; font-size: 17px; font-weight: 700; background: transparent; color: var(--pd-ink); outline: 0; }
.pd-qty--sm { height: 40px; }
.pd-qty--sm .pd-qty__btn { width: 36px; font-size: 18px; }
.pd-qty--sm .pd-qty__input { width: 36px; font-size: 14px; }
.pd-buybox__btn { flex: 1 1 auto; }
.pd-variants { font-size: 14px; }
.pd-delivery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 14px; border-top: 1px solid var(--pd-line); font-size: 13px; line-height: 1.4; }
.pd-delivery div { display: flex; flex-direction: column; gap: 2px; color: var(--pd-muted); }
.pd-delivery strong { color: var(--pd-ink); }
.pd-watchdog { display: flex; flex-direction: column; gap: 10px; padding: 18px; background: var(--pd-yellow-2); border-radius: 18px; }
.pd-watchdog__title { font-size: 18px; font-weight: 800; letter-spacing: -0.01em; }
.pd-watchdog__text { font-size: 13px; color: var(--pd-ink-2); }
.pd-watchdog__row { display: flex; gap: 8px; }
.pd-watchdog__input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 18px; border: 1.5px solid var(--pd-ink); border-radius: 999px; font-family: var(--pd-font); font-size: 16px; background: #fff; box-sizing: border-box; }
.pd-watchdog__consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.4; color: var(--pd-ink-2); margin: 0; }
.pd-watchdog__consent input { width: 18px; height: 18px; accent-color: var(--pd-ink); flex-shrink: 0; margin-top: 1px; }
.pd-watchdog__msg { font-size: 14px; font-weight: 600; }
.pd-watchdog__msg:empty { display: none; }
.pd-watchdog.is-done .pd-watchdog__row, .pd-watchdog.is-done .pd-watchdog__consent { display: none; }
.pd-specs { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; font-size: 14px; }
.pd-specs div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--pd-line); }
.pd-specs dt { color: var(--pd-muted); }
.pd-specs dd { margin: 0; font-weight: 600; text-align: right; }
.pd-product__sections { display: flex; flex-direction: column; gap: 24px; margin-top: 44px; max-width: 860px; }
.pd-section--text h2 { font-size: 26px; }
.pd-prose { font-size: 15px; line-height: 1.65; color: var(--pd-ink-2); }
.pd-prose { overflow-wrap: anywhere; } /* dlouhé řádky z adminu (např. ____ ve formuláři odstoupení) nesmí rozšířit stránku */
.pd-prose iframe, .pd-prose video { max-width: 100%; }
.pd-prose *, .pd-prose span, .pd-prose p, .pd-prose strong { font-family: inherit !important; color: inherit !important; font-size: inherit !important; line-height: inherit !important; background: transparent !important; }
.pd-prose p { margin: 0 0 12px; }
.pd-prose strong, .pd-prose b { font-weight: 700; color: var(--pd-ink) !important; }
.pd-prose img { max-width: 100%; height: auto; border-radius: 12px; }
.pd-details { border: 1px solid var(--pd-line); border-radius: 16px; padding: 0 18px; }
.pd-details summary { cursor: pointer; padding: 16px 0; font-weight: 800; font-size: 16px; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.pd-details summary::-webkit-details-marker { display: none; }
.pd-details summary::after { content: "+"; font-size: 22px; color: var(--pd-muted); }
.pd-details[open] summary::after { content: "\2212"; }
.pd-details .pd-prose { padding-bottom: 16px; }
@media (max-width: 1023px) {
	.pd-product__grid { grid-template-columns: 1fr; gap: 16px; margin-top: 8px; }
	.pd-product__image { height: 320px; border: 0; }
	.pd-product__image img { max-height: 290px; }
	.pd-product__title { font-size: 30px; }
	.pd-buybox { padding: 16px; }
	.pd-price { font-size: 30px; }
	.pd-delivery { grid-template-columns: 1fr; gap: 6px; }
	.pd-specs { grid-template-columns: 1fr; }
	.pd-product__sections { margin-top: 28px; }
	.pd-watchdog__row { flex-direction: column; }
}

/* --- košík a objednávka ---------------------------------------------------- */
.pd-checkout { padding-top: 20px; }
.pd-checkout__title { font-size: 34px; margin: 18px 0 18px; }
.pd-steps { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.pd-steps li { flex: 1 1 0; }
.pd-steps li > a, .pd-steps li > span { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px; border-radius: 999px; background: var(--pd-bg-2); font-size: 14px; font-weight: 600; color: var(--pd-muted); text-decoration: none; }
.pd-steps li span span, .pd-steps li a span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 999px; background: #fff; color: var(--pd-ink); font-size: 13px; font-weight: 800; flex-shrink: 0; }
.pd-steps li.is-active > a, .pd-steps li.is-active > span { background: var(--pd-ink); color: #fff; }
.pd-steps li.is-active span span, .pd-steps li.is-active a span { background: var(--pd-yellow); }
.pd-steps li.is-done > a { color: var(--pd-ink); }
.pd-steps li.is-done a span { background: var(--pd-green); color: #fff; }
.pd-checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; margin: 0; }
.pd-checkout__main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pd-checkout__side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 14px; }
.pd-freebar { padding: 14px 18px; background: var(--pd-yellow-2); border-radius: 16px; display: flex; flex-direction: column; gap: 8px; }
.pd-freebar.is-free { background: #E6F4E6; }
.pd-freebar__text { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; }
.pd-freebar__text span { color: var(--pd-muted); }
.pd-freebar__bar { height: 8px; background: #fff; border-radius: 999px; overflow: hidden; }
.pd-freebar__fill { height: 100%; background: var(--pd-ink); border-radius: 999px; transition: width .3s ease; }
.pd-freebar.is-free .pd-freebar__fill { background: var(--pd-green); }
.pd-cartlist { display: flex; flex-direction: column; gap: 10px; }
.pd-cartitem { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto auto 40px; gap: 14px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--pd-line); border-radius: 16px; }
.pd-cartitem--recap { grid-template-columns: 60px minmax(0, 1fr) auto; }
.pd-cartitem.is-soldout { border-color: #E9B8B4; background: #FFF7F6; }
.pd-cartitem__img { display: flex; align-items: center; justify-content: center; height: 88px; }
.pd-cartitem__img img { max-height: 84px; width: auto; }
.pd-cartitem__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pd-cartitem__brewery { font-size: 11px; font-weight: 600; color: var(--pd-muted); }
.pd-cartitem__name { font-size: 15px; font-weight: 700; line-height: 1.25; }
.pd-cartitem__meta { font-size: 12.5px; color: var(--pd-muted); }
.pd-cartitem__stock { font-size: 12px; font-weight: 600; margin-top: 2px; }
.pd-cartitem__stock .green { color: var(--pd-green); } .pd-cartitem__stock .red { color: var(--pd-red); }
.pd-cartitem__qty { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.pd-cartitem__unit { font-size: 12px; color: var(--pd-muted); white-space: nowrap; }
.pd-cartitem__total { font-size: 17px; font-weight: 800; white-space: nowrap; min-width: 84px; text-align: right; }
.pd-cartitem__remove { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; color: var(--pd-muted); }
.pd-cartitem__remove:hover { background: var(--pd-bg-2); color: var(--pd-red); }
.pd-cart__extras { display: flex; flex-direction: column; gap: 12px; }
.pd-coupon { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.pd-coupon__label { font-size: 13px; font-weight: 700; margin: 0; }
.pd-coupon__row { display: flex; gap: 8px; max-width: 420px; }
.pd-coupon__used { font-size: 14px; }
.pd-input, .pd-form input[type="text"], .pd-form input[type="email"], .pd-form input[type="password"], .pd-form textarea { height: 48px; padding: 0 16px; border: 1px solid var(--pd-line); border-radius: 12px; font-family: var(--pd-font); font-size: 15px; background: #fff; box-sizing: border-box; width: 100%; color: var(--pd-ink); }
.pd-form textarea { height: auto; padding: 12px 16px; }
.pd-input:focus, .pd-form input:focus, .pd-form textarea:focus, .pd-select:focus { outline: 0; border-color: var(--pd-ink); }
.pd-form input.redBlock, .pd-form input.error { border-color: var(--pd-red); background: #FFF7F6; }
.pd-form label.error { font-size: 12px; color: var(--pd-red); margin-top: 4px; }
.pd-coupon__row .pd-input { flex: 1 1 auto; }
.pd-summary { padding: 22px; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); display: flex; flex-direction: column; gap: 12px; }
.pd-summary h2 { font-size: 20px; }
.pd-summary__list { margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.pd-summary__list div { display: flex; justify-content: space-between; gap: 12px; }
.pd-summary__list dt { color: var(--pd-muted); } .pd-summary__list dd { margin: 0; font-weight: 600; text-align: right; }
.pd-summary__total { border-top: 1px solid var(--pd-line); padding-top: 10px; margin-top: 4px; }
.pd-summary__total dt { color: var(--pd-ink); font-weight: 700; } .pd-summary__total dd { font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.pd-summary__small { font-size: 12.5px; } .pd-summary__small dd { font-weight: 500; color: var(--pd-muted); }
.pd-summary__note { font-size: 12.5px; color: var(--pd-muted); }
.pd-summary__btn { width: 100%; }
.pd-summary__back { align-self: center; font-size: 14px; }
.pd-summary__perks { list-style: none; margin: 0; padding: 0 6px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--pd-muted); }
.pd-summary__perks li::before { content: "✓ "; color: var(--pd-green); font-weight: 800; }
.pd-panel { padding: 22px; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); display: flex; flex-direction: column; gap: 14px; }
.pd-panel h2 { font-size: 18px; }
.pd-panel__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pd-panel--recap p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--pd-ink-2); }
.pd-recap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pd-options { display: flex; flex-direction: column; gap: 8px; }
.pd-option { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--pd-line); border-radius: 14px; cursor: pointer; margin: 0; min-height: 52px; box-sizing: border-box; background: #fff; }
.pd-option:has(input:checked) { border-color: var(--pd-ink); box-shadow: 0 0 0 1px var(--pd-ink) inset; }
.pd-option.is-disabled { opacity: .55; cursor: not-allowed; }
.pd-option input[type="radio"] { width: 20px; height: 20px; accent-color: var(--pd-ink); flex-shrink: 0; margin: 0; }
.pd-option__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 1px; font-size: 15px; }
.pd-option__hint { font-size: 12.5px; color: var(--pd-muted); font-weight: 400; }
.pd-option__hint--block { padding: 12px 14px; background: var(--pd-bg-2); border-radius: 12px; }
.pd-option__price { font-size: 15px; font-weight: 700; white-space: nowrap; }
.pd-option__free { color: var(--pd-green); }
.pd-option__extra { display: none; margin: 0; padding: 4px 0 4px 32px; }
.pd-option__extra label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.pd-select { height: 48px; padding: 0 14px; border: 1px solid var(--pd-line); border-radius: 12px; background: #fff; font-family: var(--pd-font); font-size: 15px; width: 100%; max-width: 480px; }
.pd-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.pd-field { display: flex; flex-direction: column; gap: 6px; margin: 0; position: relative; }
.pd-field--full { grid-column: 1 / -1; }
.pd-field label { font-size: 13px; font-weight: 700; }
.pd-field__link { position: absolute; right: 0; top: 0; font-size: 12px; font-weight: 700; text-decoration: underline; }
.pd-check { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; margin: 0; cursor: pointer; }
.pd-check input { width: 20px; height: 20px; accent-color: var(--pd-ink); flex-shrink: 0; margin: 0; }
.pd-check--small { font-size: 13px; font-weight: 500; align-items: flex-start; line-height: 1.4; }
.pd-check--small input { margin-top: 1px; }
.pd-check--small a { text-decoration: underline; }
.pd-form__sub { padding: 14px; background: var(--pd-bg-2); border-radius: 14px; }
.pd-empty--cart { padding: 80px 20px; }
.pd-empty--cart h1 { font-size: 30px; }
/* mini košík v hlavičce a modál po přidání */
.pd-minicart { display: flex; flex-direction: column; }
.pd-minicart__item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--pd-line); }
.pd-minicart__img { display: flex; align-items: center; justify-content: center; width: 44px; height: 56px; flex-shrink: 0; }
.pd-minicart__img img { max-height: 54px; width: auto; }
.pd-minicart__info { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1 1 auto; }
.pd-minicart__name { font-size: 14px; font-weight: 700; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-minicart__meta { font-size: 12px; color: var(--pd-muted); }
.pd-minicart__remove { width: 32px; height: 32px; border: 0; background: transparent; color: var(--pd-muted); border-radius: 999px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pd-minicart__remove:hover { background: var(--pd-bg-2); color: var(--pd-red); }
.pd-minicart__total { display: flex; justify-content: space-between; padding: 12px 0 10px; font-size: 14px; }
.pd-minicart__total strong { font-size: 18px; }
.pd-minicart__btn { width: 100%; }
.pd-minicart__empty { padding: 10px 0; color: var(--pd-muted); font-size: 14px; }
.pd-body #buyModal .modal-dialog { max-width: 720px; }
.pd-modal__head { align-items: center; }
.pd-modal__head .modal-title { display: flex; align-items: center; gap: 10px; font-size: 20px; }
.pd-modal__ok { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 999px; background: var(--pd-green); color: #fff; }
.pd-modal__product { display: flex; align-items: center; gap: 18px; }
.pd-modal__img { display: flex; align-items: center; justify-content: center; width: 90px; height: 110px; flex-shrink: 0; }
.pd-modal__img img { max-height: 106px; width: auto; }
.pd-modal__info { display: flex; flex-direction: column; gap: 3px; }
.pd-modal__name { font-size: 18px; }
.pd-modal__foot { justify-content: space-between; gap: 10px; }
.pd-modal__related { border-top: 1px solid var(--pd-line); }
.pd-modal__related h5 { font-size: 16px; font-weight: 800; margin-bottom: 12px; }
.pd-modal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pd-modal__grid .pd-card__media { height: 150px; } .pd-modal__grid .pd-card__media img { max-height: 130px; }
.pd-modal__grid .pd-card__stock { display: none; }
@media (max-width: 1023px) {
	.pd-checkout { padding-top: 12px; }
	.pd-checkout__title { font-size: 26px; margin: 12px 0; }
	.pd-steps li > a, .pd-steps li > span { height: 40px; padding: 0 10px; font-size: 0; gap: 0; justify-content: center; }
	.pd-steps li.is-active > a, .pd-steps li.is-active > span { font-size: 13px; gap: 8px; }
	.pd-steps li { flex: 0 0 auto; } .pd-steps li.is-active { flex: 1 1 auto; }
	.pd-checkout__grid { grid-template-columns: 1fr; gap: 16px; }
	.pd-checkout__side { position: static; }
	.pd-cartitem { grid-template-columns: 60px minmax(0, 1fr) 36px; grid-template-areas: "img info remove" "img qty total"; gap: 8px 12px; padding: 10px; }
	.pd-cartitem__img { grid-area: img; height: 70px; } .pd-cartitem__img img { max-height: 68px; }
	.pd-cartitem__info { grid-area: info; }
	.pd-cartitem__qty { grid-area: qty; align-items: flex-start; flex-direction: row; align-items: center; gap: 10px; }
	.pd-cartitem__total { grid-area: total; align-self: center; min-width: 0; }
	.pd-cartitem__remove { grid-area: remove; width: 36px; height: 36px; }
	.pd-cartitem--recap { grid-template-columns: 50px minmax(0, 1fr) auto; grid-template-areas: none; }
	.pd-cartitem--recap .pd-cartitem__img, .pd-cartitem--recap .pd-cartitem__info, .pd-cartitem--recap .pd-cartitem__total { grid-area: auto; }
	.pd-recap { grid-template-columns: 1fr; }
	.pd-form__grid { grid-template-columns: 1fr; }
	.pd-panel { padding: 16px; }
	.pd-summary { padding: 16px; }
	.pd-modal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pd-modal__foot { flex-direction: column; } .pd-modal__foot .pd-btn { width: 100%; }
}

/* --- obsahové stránky, účet, blog, kontakt, 404 ---------------------------- */
.pd-page { padding-top: 4px; }
.pd-page--narrow { max-width: 900px; }
.pd-page__title { font-size: 36px; margin: 14px 0 20px; }
.pd-text-green { color: var(--pd-green); } .pd-text-red { color: var(--pd-red); }
.pd-form--stack { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.pd-form__grid--1 { grid-template-columns: 1fr; }
.pd-form__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 6px; }
.pd-field__hint { font-size: 12px; color: var(--pd-muted); }
.pd-password { position: relative; display: block; }
.pd-password input { padding-right: 48px !important; }
.pd-password__toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; background: transparent; color: var(--pd-muted); border-radius: 999px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pd-password__toggle:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-strength { display: block; height: 6px; background: var(--pd-bg-2); border-radius: 999px; overflow: hidden; }
.pd-strength__bar { display: block; height: 100%; width: 0; background: var(--pd-red); border-radius: 999px; transition: width .2s ease, background .2s ease; }
.pd-strength__bar.is-mid { background: #D99A00; } .pd-strength__bar.is-ok { background: var(--pd-green); }
.pd-strength__text { font-size: 12px; color: var(--pd-muted); }
.pd-strength__text:empty { display: none; }
.pd-body .alert { border-radius: var(--pd-radius-s); font-family: var(--pd-font); }
.pd-body .alert-success { background: #E6F4E6; color: var(--pd-green); border: 0; }
.pd-body .alert-danger { background: #FBE9E7; color: var(--pd-red); border: 0; }
.pd-body .alert-info, .pd-body .alert-warning { background: var(--pd-yellow-2); color: var(--pd-ink); border: 0; }
.pd-account__grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 28px; align-items: start; }
.pd-account__nav { display: flex; flex-direction: column; gap: 2px; padding: 8px; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); position: sticky; top: 16px; }
.pd-account__link { display: flex; align-items: center; height: 44px; padding: 0 14px; border-radius: 12px; font-size: 15px; font-weight: 600; color: var(--pd-ink); }
.pd-account__link:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-account__link.is-active { background: var(--pd-ink); color: #fff; }
.pd-account__link--muted { color: var(--pd-muted); font-weight: 500; margin-top: 6px; border-top: 1px solid var(--pd-line); border-radius: 0 0 12px 12px; }
.pd-account__main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pd-account__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 6px; }
.pd-account__tile { display: flex; flex-direction: column; gap: 3px; padding: 18px; border: 1px solid var(--pd-line); border-radius: 16px; color: var(--pd-ink); }
.pd-account__tile:hover { border-color: var(--pd-ink); color: var(--pd-ink); }
.pd-account__tile strong { font-size: 16px; } .pd-account__tile span { font-size: 13px; color: var(--pd-muted); }
.pd-orders { display: flex; flex-direction: column; gap: 10px; }
.pd-orders__item { padding: 16px 18px; background: #fff; border: 1px solid var(--pd-line); border-radius: 16px; display: flex; flex-direction: column; gap: 10px; }
.pd-orders__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.pd-orders__head div { display: flex; gap: 10px; align-items: baseline; }
.pd-orders__status { font-weight: 700; font-size: 14px; }
.pd-orders__body { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.pd-orders__price { font-size: 15px; font-weight: 600; display: inline-flex; align-items: center; }
.pd-orders__actions { display: flex; align-items: center; gap: 16px; }
.pd-credit { align-items: flex-start; gap: 4px; }
.pd-credit__value { font-size: 36px; font-weight: 800; letter-spacing: -0.02em; }
.pd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pd-table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--pd-muted); padding: 8px 10px; border-bottom: 1px solid var(--pd-line); }
.pd-table td { padding: 10px; border-bottom: 1px solid var(--pd-line-2); vertical-align: top; }
/* potvrzení objednávky */
.pd-order__head { display: flex; gap: 16px; align-items: flex-start; margin: 16px 0 22px; }
.pd-order__head .pd-page__title { margin: 0 0 6px; }
.pd-order__check { width: 48px; height: 48px; flex-shrink: 0; border-radius: 999px; background: var(--pd-green); color: #fff; display: flex; align-items: center; justify-content: center; }
.pd-order__lead { font-size: 16px; color: var(--pd-ink-2); }
.pd-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.pd-order__main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pd-order__gateform { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; background: var(--pd-yellow-2); border-radius: 16px; margin: 0; flex-wrap: wrap; }
.pd-order__gateform div { display: flex; flex-direction: column; gap: 2px; }
.pd-order__gateform span { font-size: 13px; color: var(--pd-ink-2); }
.pd-order__bank { display: flex; gap: 24px; align-items: flex-start; }
.pd-order__qr { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 12px; color: var(--pd-muted); flex-shrink: 0; }
.pd-order__qr img { width: 160px; height: 160px; border: 1px solid var(--pd-line); border-radius: 12px; }
.pd-order__bankdata { margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; flex: 1 1 auto; }
.pd-order__bankdata div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--pd-line-2); }
.pd-order__bankdata dt { color: var(--pd-muted); } .pd-order__bankdata dd { margin: 0; font-weight: 600; text-align: right; }
.pd-order__amount { font-size: 20px; font-weight: 800; }
/* blog */
.pd-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pd-article-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); overflow: hidden; }
.pd-article-card__img { display: block; height: 200px; background: var(--pd-bg-2); }
.pd-article-card__img img { width: 100%; height: 100%; object-fit: cover; }
.pd-article-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; }
.pd-article-card h2 { font-size: 19px; line-height: 1.25; }
.pd-article-card p { font-size: 14px; color: var(--pd-muted); line-height: 1.5; }
.pd-article { display: flex; flex-direction: column; gap: 18px; }
.pd-article__img { width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--pd-radius); }
.pd-prose--article, .pd-prose--page { font-size: 16px; line-height: 1.7; }
.pd-prose--article h2, .pd-prose--page h2 { font-size: 24px; margin: 26px 0 10px; }
.pd-prose--article h3, .pd-prose--page h3 { font-size: 19px; margin: 20px 0 8px; }
.pd-prose--article ul, .pd-prose--page ul, .pd-prose--article ol, .pd-prose--page ol { padding-left: 22px; margin: 0 0 12px; }
.pd-prose--page table { width: 100%; border-collapse: collapse; margin: 0 0 16px; font-size: 14px; }
.pd-prose--page td, .pd-prose--page th { border: 1px solid var(--pd-line); padding: 8px 10px; }
.pd-prose a { text-decoration: underline; }
.pd-article__back { margin-top: 20px; }
/* kontakt */
.pd-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.pd-contact__info h3 { font-size: 14px; text-transform: uppercase; letter-spacing: .05em; color: var(--pd-muted); margin-top: 10px; }
.pd-contact__info p { margin: 0; font-size: 15px; line-height: 1.55; }
.pd-contact__big { font-size: 20px; font-weight: 700; }
.pd-contact__line { font-size: 17px; font-weight: 700; }
/* 404 */
.pd-404 { padding: 60px 20px; }
.pd-404__code { font-size: 96px; font-weight: 800; letter-spacing: -0.04em; color: var(--pd-line); line-height: 1; }
.pd-404__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
/* našeptávač */
.pd-whisper { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.pd-whisper__cats { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px 8px 8px; }
.pd-whisper__item { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 12px; color: var(--pd-ink); }
.pd-whisper__item:hover { background: var(--pd-bg-2); color: var(--pd-ink); }
.pd-whisper__img { display: flex; align-items: center; justify-content: center; width: 40px; height: 52px; flex-shrink: 0; }
.pd-whisper__img img { max-height: 50px; width: auto; }
.pd-whisper__text { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.pd-whisper__brewery { font-size: 11px; color: var(--pd-muted); font-weight: 600; }
.pd-whisper__name { font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-whisper__meta { font-size: 12px; color: var(--pd-muted); }
.pd-whisper__price { font-size: 14px; font-weight: 800; white-space: nowrap; }
.pd-whisper__empty { padding: 12px; font-size: 14px; color: var(--pd-muted); }
.pd-whisper__all { margin: 6px 8px 4px; align-self: flex-start; }
@media (max-width: 1023px) {
	.pd-page__title { font-size: 28px; margin: 10px 0 14px; }
	.pd-account__grid { grid-template-columns: 1fr; gap: 12px; }
	.pd-account__nav { position: static; flex-direction: row; overflow-x: auto; scrollbar-width: none; padding: 6px; }
	.pd-account__nav::-webkit-scrollbar { display: none; }
	.pd-account__link { height: 40px; white-space: nowrap; font-size: 14px; }
	.pd-account__link--muted { margin: 0; border: 0; border-radius: 12px; }
	.pd-account__tiles { grid-template-columns: 1fr; }
	.pd-order__grid { grid-template-columns: 1fr; gap: 14px; }
	.pd-order__bank { flex-direction: column; align-items: center; }
	.pd-articles { grid-template-columns: 1fr; }
	.pd-contact { grid-template-columns: 1fr; }
	.pd-404__code { font-size: 64px; }
	.pd-table { display: block; overflow-x: auto; }
}

/* Mobil: písmo polí min. 16 px – jinak iOS Safari při klepnutí do pole přiblíží stránku */
@media (max-width: 991px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], select, textarea { font-size: 16px !important; }
}
.pd-summary__list dd { white-space: nowrap; }
.pd-form input[type="tel"] { height: 48px; padding: 0 16px; border: 1px solid var(--pd-line); border-radius: 12px; font-family: var(--pd-font); font-size: 15px; background: #fff; box-sizing: border-box; width: 100%; color: var(--pd-ink); }
