/**
 * PulpBooks shop redesign (2026)
 *
 * Header, footer, shop home, product cards, archives and single product.
 * Loaded after aurum.css and style.css.
 */

:root {
	--pb-black: #000;
	--pb-white: #fff;
	--pb-off-white: #f7f7f8;
	--pb-red: #af0300;
	--pb-red-dark: #8e211f;
	--pb-red-topbar: #7c1917;
	--pb-yellow: #ffce5f;
	--pb-gray-bg: #ededed;
	--pb-gray-line: #e2e2e2;
	--pb-gray-line-dark: #d9d9d9;
	--pb-gray-text: #9d9d9d;
	--pb-gray-dark: #575757;
	--pb-footer-line: #424242;
	--pb-font: 'Poppins', sans-serif;
	--pb-container: 1080px;
	--pb-container-wide: 1260px;
	--pb-gutter: 24px;
}

/* ------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------ */

body,
p,
h1, h2, h3, h4, h5, h6,
.primary-font,
.heading-font,
.btn,
.form-control,
.woocommerce .price,
.woocommerce-breadcrumb,
.pb-header,
.pb-footer {
	font-family: var(--pb-font);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--pb-black);
	background: var(--pb-white);
}

.pb-container {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--pb-container) + 2 * var(--pb-gutter));
	margin: 0 auto;
	padding: 0 var(--pb-gutter);
}

.pb-shop-home .pb-container {
	max-width: calc(var(--pb-container-wide) + 2 * var(--pb-gutter));
}

.pb-icon {
	display: block;
	width: 24px;
	height: 24px;
}

.pb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 300px;
	height: 46px;
	padding: 0 32px;
	border: 1px solid transparent;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

.pb-button--dark {
	background: var(--pb-gray-dark);
	color: var(--pb-off-white);
}

.pb-button--dark:hover,
.pb-button--dark:focus {
	background: var(--pb-black);
	color: var(--pb-white);
	text-decoration: none;
}

/* ------------------------------------------------------------------
 * Top bar + header
 * ------------------------------------------------------------------ */

.pb-topbar {
	padding: 6px 16px;
	background: var(--pb-red-topbar);
	color: var(--pb-off-white);
	font-size: 14px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.pb-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--pb-black);
	color: var(--pb-off-white);
}

.admin-bar .pb-header {
	top: 32px;
}

.pb-header__inner {
	display: flex;
	align-items: center;
	height: 90px;
	padding: 0 70px;
}

.pb-header__logo {
	flex: 0 0 auto;
	display: block;
	margin-right: 40px;
}

.pb-header__logo img {
	display: block;
	width: 133px;
	height: auto;
}

/* Navigation */

.pb-nav {
	flex: 1 1 auto;
	align-self: stretch;
	display: flex;
	justify-content: center;
}

.pb-nav__list {
	display: flex;
	align-items: stretch;
	gap: 0 56px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-nav__list > li {
	position: static;
	display: flex;
	align-items: center;
}

.pb-nav__list > li > a {
	position: relative;
	display: block;
	padding: 8px 0;
	color: var(--pb-off-white);
	font-size: 16px;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	transition: color .2s;
}

.pb-nav__list > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--pb-red);
	transform: scaleX(0);
	transition: transform .2s;
}

.pb-nav__list > li:hover > a,
.pb-nav__list > li > a:focus,
.pb-nav__list > .current-menu-item > a,
.pb-nav__list > .current-menu-ancestor > a {
	color: var(--pb-white);
	text-decoration: none;
}

.pb-nav__list > li:hover > a::after,
.pb-nav__list > li > a:focus::after,
.pb-nav__list > .current-menu-item > a::after,
.pb-nav__list > .current-menu-ancestor > a::after {
	transform: scaleX(1);
}

/* Dropdowns: full-width black band, links lined up under the parent */

.pb-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	display: block;
	margin: 0;
	padding: 4px 0 18px var(--pb-dropdown-x, 0);
	background: var(--pb-black);
	border-top: 1px solid #1a1a1a;
	list-style: none;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .15s, transform .15s, visibility 0s .15s;
}

.pb-nav__list > li:hover > .sub-menu,
.pb-nav__list > li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity .15s, transform .15s;
}

.pb-nav .sub-menu li {
	break-inside: avoid;
}

.pb-nav .sub-menu a {
	display: block;
	padding: 8px 0;
	color: var(--pb-off-white);
	font-size: 16px;
	line-height: 24px;
	text-decoration: none;
	opacity: .85;
	transition: opacity .2s, color .2s;
}

.pb-nav .sub-menu a:hover,
.pb-nav .sub-menu a:focus,
.pb-nav .sub-menu .current-menu-item > a {
	color: var(--pb-white);
	opacity: 1;
}

/* Mega menu (menu item class "pb-mega"): four columns from the content edge */

.pb-nav .pb-mega > .sub-menu {
	columns: 4;
	column-gap: 24px;
	padding-left: max(var(--pb-gutter), calc((100% - var(--pb-container)) / 2));
	padding-right: max(var(--pb-gutter), calc((100% - var(--pb-container)) / 2));
}

/* Icons */

.pb-header__icons {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 0 40px;
	padding: 0;
	list-style: none;
}

.pb-header__icon {
	position: relative;
	display: block;
	padding: 4px;
	border: 0;
	background: none;
	color: var(--pb-white);
	cursor: pointer;
	transition: color .2s;
}

.pb-header__icon:hover,
.pb-header__icon:focus {
	color: var(--pb-gray-text);
}

.pb-header__cart .hfe-cart-count {
	position: absolute;
	right: -4px;
	bottom: -2px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--pb-white);
	color: var(--pb-black);
	font-size: 11px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
}

.pb-header__search {
	position: relative;
	display: flex;
	align-items: center;
}

.pb-search-form {
	position: absolute;
	right: 100%;
	top: 50%;
	width: 0;
	overflow: hidden;
	transform: translateY(-50%);
	transition: width .25s;
}

.pb-header__search.is-open .pb-search-form {
	width: 260px;
}

.pb-search-form input[type="search"] {
	box-sizing: border-box;
	width: 260px;
	height: 38px;
	padding: 0 14px;
	border: 1px solid var(--pb-footer-line);
	border-radius: 0;
	background: #111;
	color: var(--pb-white);
	font-size: 14px;
	outline: 0;
}

@media (max-width: 1439px) {
	.pb-header__inner {
		padding: 0 32px;
	}

	.pb-nav__list {
		gap: 0 26px;
	}

	.pb-nav__list > li > a {
		font-size: 14px;
	}
}

@media (max-width: 1199px) {
	.pb-header__inner {
		height: 76px;
		padding: 0 20px;
	}

	.pb-header__logo {
		margin-right: 20px;
	}

	.pb-header__logo img {
		width: 104px;
	}

	.pb-nav__list {
		gap: 0 14px;
	}

	.pb-nav__list > li > a {
		font-size: 12px;
	}

	.pb-header__icons {
		gap: 8px;
		margin-left: 16px;
	}
}

@media screen and (max-width: 768px) {
	.pb-header {
		display: none;
	}

	.pb-topbar {
		font-size: 12px;
	}
}

/* Mobile header (aurum) in black */

header.mobile-menu {
	background: var(--pb-black);
}

header.mobile-menu svg,
header.mobile-menu .mobile-toggles a {
	color: var(--pb-white);
	fill: var(--pb-white);
}

header.mobile-menu .mobile-menu--content {
	background: var(--pb-black);
}

header.mobile-menu .mobile-menu--content a {
	color: var(--pb-off-white);
	font-family: var(--pb-font);
}

header.mobile-menu .mobile-menu--content .sub-menu {
	padding-left: 16px;
	list-style: none;
}

/* ------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------ */

.site-footer {
	display: none;
}

.pb-footer {
	background: var(--pb-black);
	color: var(--pb-white);
	font-size: 16px;
	line-height: 1.8;
}

.pb-container--footer {
	max-width: calc(1590px + 2 * var(--pb-gutter));
}

.pb-footer__main {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 40px;
	padding: 54px 0 60px;
}

.pb-footer__logo img {
	display: block;
	width: 188px;
	height: auto;
	margin-bottom: 28px;
}

.pb-footer p {
	margin: 0 0 14px;
	color: var(--pb-white);
	font-size: 16px;
	line-height: 2.1;
}

.pb-footer a {
	color: var(--pb-white);
	text-decoration: none;
	transition: color .2s;
}

.pb-footer a:hover,
.pb-footer a:focus {
	color: var(--pb-gray-text);
}

.pb-footer__heading {
	margin: 0 0 14px;
	color: var(--pb-white);
	font-size: 24px;
	font-weight: 500;
}

.pb-footer__subheading {
	margin: 0 0 10px;
	color: var(--pb-white);
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}

.pb-footer__column {
	padding-top: 162px;
}

.pb-footer__column ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-footer__column li {
	line-height: 2.2;
}

.pb-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0 22px;
	border-top: 1px solid var(--pb-footer-line);
	color: var(--pb-gray-text);
	font-size: 14px;
}

.pb-footer__bottom a {
	color: var(--pb-gray-text);
}

@media (max-width: 991px) {
	.pb-footer__main {
		grid-template-columns: repeat(3, 1fr);
	}

	.pb-footer__contact {
		grid-column: 1 / -1;
	}

	.pb-footer__column {
		padding-top: 0;
	}
}

@media (max-width: 600px) {
	.pb-footer__main {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 40px 0;
	}

	.pb-footer__bottom {
		flex-direction: column;
	}
}

/* ------------------------------------------------------------------
 * Product cards (archives, carousels, related)
 * ------------------------------------------------------------------ */

.woocommerce ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 56px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	display: none;
}

ul.products li.product.shop-item,
.woocommerce ul.products[class] li.product.shop-item,
.woocommerce-page ul.products[class] li.product.shop-item {
	position: relative;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	clear: none;
}

ul.products li.product .item-image {
	position: relative;
	margin: 0 0 18px;
	background: none;
}

.woocommerce ul.products li.product .item-image img {
	margin: 0;
}

ul.products li.product .item-image .image-placeholder {
	background: none;
}

ul.products li.product .item-image img {
	mix-blend-mode: multiply;
	transition: transform .3s;
}

ul.products li.product:hover .item-image img:first-of-type {
	transform: translateY(-4px);
}

ul.products li.product .item-info {
	margin: 0;
	padding: 0 4px;
	text-align: left;
}

ul.products li.product .item-info h3 {
	margin: 0 0 4px;
	font-family: var(--pb-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
}

ul.products li.product .item-info h3 a {
	color: var(--pb-black);
}

ul.products li.product .item-info h3 a:hover {
	color: var(--pb-red);
	text-decoration: none;
}

ul.products li.product .product-terms {
	display: block;
}

ul.products li.product .product-terms,
ul.products li.product .product-terms a {
	color: var(--pb-gray-text);
	font-family: var(--pb-font);
	font-size: 11px;
	line-height: 1.5;
	text-transform: uppercase;
}

ul.products li.product .price {
	display: block;
	margin-top: 16px;
	color: var(--pb-black);
	font-family: var(--pb-font);
	font-size: 15px;
	font-weight: 400;
	text-transform: uppercase;
}

ul.products li.product .price del {
	margin-right: 8px;
	color: var(--pb-gray-text);
	font-size: 11px;
	opacity: 1;
}

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

/* Badges: overlap the bottom-left corner of the cover */

.pb-badge {
	position: relative;
	z-index: 2;
	display: block;
	width: fit-content;
	min-width: 98px;
	margin: -46px 0 18px -10px;
	padding: 7px 18px;
	border-radius: 18px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	pointer-events: none;
}

.pb-badge--sale {
	background: var(--pb-yellow);
	color: var(--pb-black);
}

.pb-badge--new {
	background: var(--pb-red);
	color: var(--pb-white);
}

ul.products li.product .woocommerce-LoopProduct-link,
ul.products li.product .item-image > a {
	display: block;
}

@media (max-width: 991px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 16px;
	}

	.pb-badge {
		margin-left: -4px;
		min-width: 0;
		padding: 6px 12px;
		font-size: 11px;
	}
}

/* ------------------------------------------------------------------
 * Shop home
 * ------------------------------------------------------------------ */

.pb-shop-home {
	background: var(--pb-white);
}

.pb-hero {
	background: var(--pb-black);
}

.pb-hero > *:last-child {
	margin-bottom: 0;
}

.pb-hero .wpcp-carousel-section,
.pb-hero .wpcp-carousel-wrapper {
	margin: 0 auto;
}

/*
 * Full-width banners. A banner at least 1800px wide (or wider than 3:1)
 * fills the screen; narrower ones stay sharp in the middle with a blurred
 * copy of themselves filling the sides (set up in pulpbooks-redesign.js).
 */
/* the slider leaves 25px each side for its arrows; draw them over the banner instead */
.pb-hero .wpcpro-wrapper .wpcp-carousel-section.nav-vertical-center:not(.wpcp_swiper_vertical) {
	margin: 0;
}

.pb-hero .wpcp-carousel-section .wpcp-prev-button {
	left: 16px;
}

.pb-hero .wpcp-carousel-section .wpcp-next-button {
	right: 16px;
}

.pb-hero .wpcp-carousel-section .wpcp-prev-button,
.pb-hero .wpcp-carousel-section .wpcp-next-button {
	z-index: 5;
	color: var(--pb-white);
}

.pb-hero .wpcp-single-item {
	display: block;
	width: 100%;
}

.pb-hero .wpcp-slide-image {
	position: relative;
	overflow: hidden;
	text-align: center;
}

.pb-hero .wpcp-slide-image::before {
	content: '';
	position: absolute;
	inset: -40px;
	background: var(--pb-slide-bg, none) center / cover no-repeat;
	filter: blur(28px) brightness(.55);
}

.pb-hero .wpcp-slide-image > a,
.pb-hero .wpcp-slide-image > img {
	position: relative;
	display: inline-block;
	vertical-align: top;
}

.pb-hero .wpcp-slide-image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.pb-hero .wpcp-slide-image.is-wide::before {
	display: none;
}

.pb-hero .wpcp-slide-image.is-wide > a,
.pb-hero .wpcp-slide-image.is-wide img {
	display: block;
	width: 100%;
}

.pb-features {
	background: var(--pb-gray-bg);
}

.pb-features + .pb-carousel-section--gray .pb-container {
	padding-top: 0;
}

.pb-features__list {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	gap: 24px;
	max-width: var(--pb-container);
	margin: 0 auto;
	padding: 20px 0 18px;
	border-bottom: 1px solid var(--pb-gray-line-dark);
	list-style: none;
}

.pb-features__item {
	display: flex;
	align-items: center;
	gap: 14px;
	justify-content: center;
	font-size: 11px;
	line-height: 1.35;
}

.pb-features__item .pb-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
}

.pb-features__item strong {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

@media (max-width: 768px) {
	.pb-features__list {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pb-features__item {
		justify-content: flex-start;
	}
}

.pb-section {
	padding: 64px 0 64px;
}

.pb-features + .pb-section {
	padding-top: 40px;
}

.pb-section__title {
	margin: 0 0 36px;
	color: var(--pb-black);
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
}

.pb-section__more {
	margin-top: 48px;
	text-align: center;
}

.pb-carousel-section--gray {
	background: var(--pb-gray-bg);
}

/* Carousel */

.pb-carousel {
	position: relative;
}

.pb-carousel ul.products.pb-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 56px) / 4);
	grid-template-columns: none;
	gap: 0 56px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 0 22px 4px;
}

.pb-carousel__track::-webkit-scrollbar {
	display: none;
}

.pb-carousel__track > li {
	scroll-snap-align: start;
}

.pb-carousel__arrow {
	position: absolute;
	top: 120px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: var(--pb-black);
	color: var(--pb-off-white);
	cursor: pointer;
	transition: opacity .2s, background-color .2s;
}

.pb-carousel__arrow .pb-icon {
	width: 18px;
	height: 18px;
}

.pb-carousel__arrow:hover {
	background: var(--pb-red);
}

.pb-carousel__arrow:disabled {
	opacity: .25;
	cursor: default;
	background: var(--pb-black);
}

.pb-carousel__arrow--prev {
	left: -46px;
}

.pb-carousel__arrow--next {
	right: -46px;
}

.pb-carousel.is-static .pb-carousel__arrow {
	display: none;
}

@media (max-width: 1399px) {
	.pb-carousel__arrow--prev {
		left: -6px;
	}

	.pb-carousel__arrow--next {
		right: -6px;
	}
}

@media (max-width: 991px) {
	.pb-carousel ul.products.pb-carousel__track {
		grid-auto-columns: calc((100% - 2 * 32px) / 3);
		gap: 0 32px;
	}
}

@media (max-width: 768px) {
	.pb-carousel ul.products.pb-carousel__track {
		grid-auto-columns: calc((100% - 16px) / 2);
		gap: 0 16px;
	}

	.pb-button {
		min-width: 0;
		width: 100%;
	}
}

/* Publishers */

.pb-publishers {
	background: var(--pb-gray-bg);
	padding-bottom: 120px;
}

.pb-publishers__header {
	margin-bottom: 70px;
	text-align: center;
}

.pb-eyebrow {
	display: block;
	margin-bottom: 8px;
	color: var(--pb-red);
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
}

.pb-publishers__header h2 {
	margin: 0 0 10px;
	font-size: 32px;
	font-weight: 500;
	text-transform: uppercase;
}

.pb-publishers__header p {
	margin: 0;
	font-size: 16px;
}

.pb-publishers__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-publishers__grid > li {
	border-right: 1px solid var(--pb-gray-line-dark);
	border-bottom: 1px solid var(--pb-gray-line-dark);
}

.pb-publishers__grid > li:nth-child(6n) {
	border-right: 0;
}

.pb-publishers__grid > li:nth-last-child(-n + 6):nth-child(6n + 1),
.pb-publishers__grid > li:nth-last-child(-n + 6):nth-child(6n + 1) ~ li {
	border-bottom: 0;
}

.pb-publishers__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px 16px 28px;
	color: var(--pb-black);
	text-decoration: none;
}

.pb-publishers__item:hover,
.pb-publishers__item:focus {
	color: var(--pb-black);
	text-decoration: none;
}

.pb-publishers__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 160px;
	height: 160px;
	margin-bottom: 20px;
}

.pb-publishers__logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .65;
	mix-blend-mode: multiply;
	transition: filter .25s, opacity .25s;
}

.pb-publishers__item:hover .pb-publishers__logo img {
	filter: none;
	opacity: 1;
}

.pb-publishers__logo-text {
	color: var(--pb-gray-dark);
	font-size: 22px;
	font-weight: 600;
	text-transform: uppercase;
}

.pb-publishers__name {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	text-transform: uppercase;
}

.pb-publishers__name .pb-icon {
	width: 18px;
	height: 18px;
	color: var(--pb-red);
	transition: transform .2s;
}

.pb-publishers__item:hover .pb-publishers__name .pb-icon {
	transform: translateX(4px);
}

@media (max-width: 991px) {
	.pb-publishers__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pb-publishers__grid > li {
		border: 0;
		border-bottom: 1px solid var(--pb-gray-line-dark);
	}

	.pb-publishers__grid > li:not(:nth-child(3n)) {
		border-right: 1px solid var(--pb-gray-line-dark);
	}

	.pb-publishers__logo {
		height: 110px;
	}
}

@media (max-width: 600px) {
	.pb-publishers__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pb-publishers__grid > li:not(:nth-child(3n)) {
		border-right: 0;
	}

	.pb-publishers__grid > li:nth-child(odd) {
		border-right: 1px solid var(--pb-gray-line-dark);
	}

	.pb-publishers__header h2 {
		font-size: 24px;
	}
}

/* ------------------------------------------------------------------
 * Archives (category, publisher, Nowości, search)
 * ------------------------------------------------------------------ */

.post-type-archive-product .woocommerce,
.tax-product_cat .woocommerce,
.tax-product_tag .woocommerce,
.tax-pa_gatunek .woocommerce,
.tax-pa_autor .woocommerce,
.tax-pa_seria .woocommerce,
.tax-pa_lektor .woocommerce {
	box-sizing: border-box;
	max-width: calc(var(--pb-container) + 2 * var(--pb-gutter));
	margin: 0 auto;
	padding: 0 var(--pb-gutter);
}

.pb-shop-header {
	padding: 50px 0 28px;
}

.pb-breadcrumb {
	margin-bottom: 8px;
	color: var(--pb-gray-text);
	font-size: 16px;
}

.pb-breadcrumb a {
	color: var(--pb-gray-text);
	text-decoration: none;
}

.pb-breadcrumb a:hover {
	color: var(--pb-red-dark);
}

.pb-breadcrumb__sep {
	margin: 0 6px;
	color: var(--pb-gray-text);
}

/* last crumb (current page) is plain text */
.pb-breadcrumb {
	color: var(--pb-red-dark);
}

.pb-shop-header .page-title {
	margin: 0 0 14px;
	color: var(--pb-black);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.25;
	text-transform: uppercase;
}

.pb-shop-header__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.pb-shop-header .woocommerce-result-count {
	margin: 0;
	float: none;
	color: var(--pb-gray-dark);
	font-size: 16px;
	text-transform: none;
}

.pb-shop-header .woocommerce-ordering {
	float: none;
	margin: 0;
}

.pb-shop-header .woocommerce-ordering .dropdown .btn {
	min-width: 240px;
	height: 46px;
	padding: 0 18px;
	border: 1px solid var(--pb-gray-line);
	border-radius: 0;
	background: var(--pb-white);
	color: var(--pb-gray-dark);
	font-size: 16px;
	text-align: left;
	text-transform: none;
	box-shadow: none;
}

.pb-shop-header .woocommerce-ordering .dropdown .btn .caret {
	float: right;
	margin-top: 9px;
}

.products-archive,
.products-archive--has-sidebar {
	display: block;
	padding-bottom: 90px;
}

.products-archive--has-sidebar .products-archive--products {
	width: 100%;
	float: none;
	padding: 0;
}

.products-archive .shop-sidebar,
.products-archive--has-sidebar > .sidebar {
	display: none;
}

.woocommerce-pagination {
	margin-top: 60px;
	text-align: center;
}

@media (max-width: 600px) {
	.pb-shop-header {
		padding: 28px 0 28px;
	}

	.pb-shop-header .page-title {
		font-size: 24px;
	}

	.pb-shop-header__toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.pb-shop-header .woocommerce-ordering .dropdown .btn {
		width: 100%;
	}
}

/* ------------------------------------------------------------------
 * Single product
 * ------------------------------------------------------------------ */

.single-product .pb-breadcrumb {
	box-sizing: border-box;
	max-width: calc(var(--pb-container) + 2 * var(--pb-gutter));
	margin: 0 auto;
	padding: 50px var(--pb-gutter) 50px;
}

.single-product div.product .summary .product_title,
.single-product div.product .summary h1 {
	margin: 0 0 4px;
	color: var(--pb-black);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.25;
	text-transform: uppercase;
}

.single-product div.product .summary .product_title + * {
	margin-top: 0;
}

.single-product div.product .summary .product-terms {
	display: block;
	margin-bottom: 18px;
}

.single-product div.product .summary .product-terms a,
.single-product div.product .summary .posted_in,
.single-product div.product .summary .product_meta,
.single-product div.product .summary .product_meta a {
	color: var(--pb-gray-dark);
	font-size: 16px;
	text-transform: uppercase;
}

.single-product div.product .summary .woocommerce-product-details__short-description,
.single-product div.product .summary .woocommerce-product-details__short-description p {
	color: var(--pb-black);
	font-size: 16px;
	line-height: 1.6;
}

.single-product div.product .summary .price,
.single-product div.product .summary p.price {
	margin: 40px 0 6px;
	font-family: var(--pb-font);
	color: var(--pb-red-dark);
	font-size: 32px;
	font-weight: 500;
}

.single-product div.product .summary .price del {
	color: var(--pb-gray-text);
	font-size: 18px;
}

.single-product div.product .summary .price ins {
	background: none;
	text-decoration: none;
}

.single-product div.product .summary .iworks-omnibus,
.single-product div.product .summary .omnibus-price,
.single-product div.product .summary [class*="omnibus"],
.single-product div.product .summary .lowest-price {
	margin: 0 0 18px;
	color: var(--pb-gray-dark) !important; /* plugin sets an inline color */
	font-size: 14px;
}

.single-product div.product .summary .single_add_to_cart_button,
.single-product div.product .summary button.button.alt {
	min-width: 242px;
	height: 46px;
	padding: 0 24px;
	border: 1px solid var(--pb-gray-line);
	border-radius: 0;
	background: var(--pb-white);
	color: var(--pb-gray-dark);
	font-family: var(--pb-font);
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
	transition: border-color .2s, color .2s;
}

.single-product div.product .summary .single_add_to_cart_button:hover,
.single-product div.product .summary button.button.alt:hover {
	border-color: var(--pb-black);
	background: var(--pb-white);
	color: var(--pb-black);
}

/* Tabs on a full-width gray band */

.single-product .woocommerce-tabs {
	position: relative;
	/* tabs clear the floated gallery, so a top margin would collapse: pad instead and start the gray band below it */
	margin: 0;
	padding: 56px 0 80px;
}

.single-product .related.products,
.single-product .upsells.products {
	padding-top: 56px;
}

.single-product .woocommerce-tabs::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 56px;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: var(--pb-gray-bg);
}

.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 40px;
	margin: 0 0 30px;
	padding: 16px 0 0;
	border-bottom: 0;
	background: linear-gradient(to right, transparent, var(--pb-gray-line-dark) 15%, var(--pb-gray-line-dark) 85%, transparent) bottom / 100% 1px no-repeat;
}

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

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

.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0 0 12px;
	color: var(--pb-gray-text);
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--pb-black);
	font-weight: 500;
	border-bottom: 0;
}

.single-product .woocommerce-tabs .panel {
	padding: 0;
	background: none;
	box-shadow: none;
}

.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .panel p {
	color: var(--pb-black);
	font-size: 14px;
	line-height: 1.7;
}

.single-product .woocommerce-tabs .panel a {
	color: var(--pb-red-dark);
}

/* Related products */

.single-product .related.products > h2,
.single-product .upsells.products > h2 {
	margin: 0 0 36px;
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
}

/* ------------------------------------------------------------------
 * Overrides of hard-coded aurum bits
 * ------------------------------------------------------------------ */

.product-category-title,
.product-category-hr,
.shop-spacer {
	display: none;
}

@media (max-width: 768px) {
	.woocommerce ul.products li.product .item-info h3 {
		font-size: 14px;
	}

	.woocommerce ul.products li.product .price {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------
 * Page template: Dostawa i płatność
 * ------------------------------------------------------------------ */

.pb-delivery {
	padding: 50px 0 110px;
	font-size: 14px;
	line-height: 1.6;
}

.pb-page-title {
	margin: 0 0 14px;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.25;
	text-transform: uppercase;
}

.pb-delivery__intro {
	position: relative;
	padding-bottom: 36px;
}

.pb-delivery__intro::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 128px;
	height: 4px;
	background: var(--pb-red);
}

.pb-delivery__intro p {
	margin: 0;
	font-size: 14px;
}

.pb-container--delivery {
	max-width: calc(1242px + 2 * var(--pb-gutter));
}

/* "DOSTAWA" / "PŁATNOŚĆ" with a fading rule to the right */
.pb-delivery__heading {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 60px 0 20px;
	font-family: Impact, 'Arial Narrow Bold', sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.pb-delivery__heading::after {
	content: '';
	flex: 1 1 auto;
	max-width: 520px;
	height: 1px;
	background: linear-gradient(to right, var(--pb-gray-line-dark), transparent);
}

.pb-notice {
	display: flex;
	align-items: center;
	gap: 26px;
	margin: 0 0 22px;
	padding: 18px 30px;
	border: 1px solid var(--pb-gray-line);
	border-radius: 4px;
	background: var(--pb-off-white);
}

.pb-notice .pb-icon {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	color: var(--pb-red);
}

.pb-notice p {
	margin: 0;
	font-size: 14px;
}

.pb-notice a {
	color: var(--pb-red);
	font-weight: 600;
}

/* Joined cards */

.pb-cards {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-cards--delivery {
	grid-auto-columns: minmax(0, 248px);
	grid-auto-flow: column;
}

.pb-cards--payment {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-bottom: 22px;
}

.pb-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 0 -1px;
	padding: 4px 14px 22px;
	border: 1px solid var(--pb-gray-line);
	background: var(--pb-white);
	text-align: center;
}

.pb-card:first-child {
	margin-left: 0;
	border-radius: 4px 0 0 4px;
}

.pb-card:last-child {
	border-radius: 0 4px 4px 0;
}

.pb-card__visual {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 84px;
	margin-bottom: 14px;
}

.pb-card__visual img {
	max-width: 130px;
	max-height: 78px;
	object-fit: contain;
}

.pb-card__visual .pb-icon {
	width: 46px;
	height: 46px;
	color: #212121;
	stroke-width: 1.3;
}

.pb-card__title,
.pb-delivery__perks h3 {
	text-transform: none;
}

.pb-card__text,
.pb-delivery__perks p,
.pb-delivery p {
	color: var(--pb-black);
}

.pb-breadcrumb__muted {
	color: var(--pb-gray-text);
}

.pb-card__title {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
}

.pb-card__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.pb-card__price {
	margin: auto 0 0;
	padding-top: 16px;
	color: var(--pb-red-dark);
	font-size: 24px;
	font-weight: 600;
}

.pb-cards--delivery .pb-card {
	padding-bottom: 0;
	overflow: hidden;
}

.pb-card__footer {
	align-self: stretch;
	margin: 18px -14px 0;
	padding: 13px 8px;
	background: var(--pb-black);
	color: var(--pb-white);
	font-size: 14px;
}

/* Delivery cards + perks side by side */

.pb-delivery__shipping {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 40px;
}

.pb-delivery__perks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.pb-delivery__perks .pb-icon {
	width: 52px;
	height: 52px;
	margin: 0 auto 10px;
	color: var(--pb-red);
	stroke-width: 1.4;
}

.pb-delivery__perks h3 {
	margin: 0 0 4px;
	color: var(--pb-red);
	font-size: 16px;
	font-weight: 600;
}

.pb-delivery__perks p {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.pb-delivery__divider {
	margin: 44px 0 50px;
	border: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--pb-gray-line-dark) 15%, var(--pb-gray-line-dark) 85%, transparent);
}

/* E-booki / Audiobooki */

.pb-delivery__formats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	max-width: var(--pb-container);
	margin: 0 auto;
}

.pb-underlined-heading {
	display: inline-block;
	margin: 0 0 14px;
	padding-bottom: 2px;
	border-bottom: 4px solid var(--pb-red);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
}

.pb-delivery__formats p {
	margin: 0;
	font-size: 14px;
}

.pb-delivery__formats a {
	color: var(--pb-red);
}

@media (max-width: 1199px) {
	.pb-delivery__shipping {
		grid-template-columns: 1fr;
	}

	.pb-cards--payment {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pb-cards--payment .pb-card {
		margin: 0 0 -1px -1px;
		border-radius: 0;
	}
}

@media (max-width: 768px) {
	.pb-cards--delivery,
	.pb-cards--payment {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pb-cards .pb-card {
		margin: 0 0 -1px -1px;
		border-radius: 0;
	}

	.pb-delivery__perks,
	.pb-delivery__formats {
		grid-template-columns: 1fr;
	}

	.pb-notice {
		align-items: flex-start;
		gap: 16px;
		padding: 16px;
	}

	.pb-underlined-heading,
	.pb-delivery__heading,
	.pb-page-title {
		font-size: 24px;
	}
}

/* ------------------------------------------------------------------
 * Page template: Autorzy PulpBooks
 * ------------------------------------------------------------------ */

.pb-authors {
	padding: 50px 0 110px;
}

.pb-authors__intro {
	position: relative;
	margin-bottom: 36px;
	padding-bottom: 32px;
}

.pb-authors__intro::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 128px;
	height: 4px;
	background: var(--pb-red);
}

.pb-authors__intro p {
	margin: 0;
	color: var(--pb-black);
	font-size: 14px;
}

.pb-authors__letters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 44px;
}

.pb-authors__letters a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--pb-gray-line);
	color: var(--pb-black);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}

.pb-authors__letters a:hover,
.pb-authors__letters a:focus {
	background: var(--pb-black);
	color: var(--pb-white);
}

.pb-authors__groups {
	columns: 3 260px;
	column-gap: 48px;
}

.pb-authors__group {
	break-inside: avoid;
	margin-bottom: 32px;
	scroll-margin-top: 140px;
}

.pb-authors__group h2 {
	margin: 0 0 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--pb-gray-line-dark);
	color: var(--pb-red);
	font-size: 24px;
	font-weight: 600;
}

.pb-authors__group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-authors__group a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	color: var(--pb-black);
	font-size: 16px;
	text-decoration: none;
}

.pb-authors__group a .pb-icon {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	color: var(--pb-red);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .2s, transform .2s;
}

.pb-authors__group a:hover {
	color: var(--pb-red-dark);
}

.pb-authors__group a:hover .pb-icon {
	opacity: 1;
	transform: none;
}

/* ------------------------------------------------------------------
 * Page template: Sklep – strona informacyjna (O nas, …)
 * ------------------------------------------------------------------ */

.pb-info-page {
	padding: 50px 0 110px;
}

.pb-info-page__banner {
	margin: 10px 0 56px;
	background: #13132b;
}

.pb-info-page__banner img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 360px;
	object-fit: cover;
}

.pb-info-page__content {
	color: var(--pb-black);
	font-size: 15px;
	line-height: 1.75;
}

/* section headings get the red underline used on Dostawa i płatność */
.pb-info-page__content h2 {
	display: inline-block;
	margin: 0 0 24px;
	padding-bottom: 2px;
	border-bottom: 4px solid var(--pb-red);
	color: var(--pb-black);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
}

.pb-info-page__content h2:not(:first-child) {
	margin-top: 64px;
}

.pb-info-page__content p,
.pb-info-page__content li {
	margin: 0 0 14px;
	color: var(--pb-black);
	font-size: 15px;
	line-height: 1.75;
}

.pb-info-page__content ul {
	margin: 0 0 14px;
	padding-left: 20px;
}

.pb-info-page__content a {
	color: var(--pb-red);
	font-weight: 600;
}

.pb-info-page__content .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
	margin: 0;
}

.pb-info-page__content .wp-block-column {
	margin: 0;
}

.pb-info-page__content .pb-highlight {
	padding: 18px 24px;
	border: 1px solid var(--pb-gray-line);
	border-left: 4px solid var(--pb-red);
	border-radius: 4px;
	background: var(--pb-off-white);
}

@media (max-width: 768px) {
	.pb-info-page__content .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.pb-info-page__content h2 {
		font-size: 24px;
	}

	.pb-info-page__banner {
		margin-bottom: 36px;
	}
}
