/* Anywear B2B — front */
.awb2b-price small { font-size: .8em; font-weight: 400; opacity: .75; }
.awb2b-price__sep { opacity: .4; margin: 0 .25em; }
.awb2b-price-locked { font-size: .9em; font-weight: 500; opacity: .8; }

.awb2b-locked, .awb2b-order { margin: 1.5em 0; }
.awb2b-locked { padding: 1.25em 1.5em; border: 1px solid currentColor; border-color: rgba(0, 0, 0, .15); }
.awb2b-locked__title { font-weight: 600; margin: 0 0 .5em; }
.awb2b-locked__text { margin: 0 0 1em; }
.awb2b-locked__actions { display: flex; flex-wrap: wrap; gap: .75em; margin: 0; }
/* The theme styles WooCommerce buttons only inside its own templates. */
a.awb2b-button, button.awb2b-button { display: inline-block; padding: .9em 2em; background: #000; color: #fff; border: 1px solid #000; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; line-height: 1.2; cursor: pointer; }
a.awb2b-button:hover, button.awb2b-button:hover { background: #222; color: #fff; }
.awb2b-button--secondary { background: transparent !important; color: inherit !important; border: 1px solid currentColor !important; }

/* Header entry point, sized to sit with the theme's icons. */
.awb2b-header-link { display: inline-flex; align-items: center; }
.awb2b-header-link__text { display: inline-block; padding: 3px 6px; border: 1px solid currentColor; border-radius: 2px; font-size: 11px; font-weight: 600; line-height: 1; letter-spacing: .06em; }
.awb2b-menu-item > a { white-space: nowrap; }

/* "Sprzedaż hurtowa" hint: tooltip under the entry on hover / keyboard focus. */
.awb2b-hint { position: relative; }
.awb2b-hint::after {
	content: attr(data-awb2b-hint);
	position: absolute; top: calc(100% + 6px); left: 50%; z-index: 1000;
	padding: 5px 9px; border-radius: 3px; background: #111; color: #fff;
	font-size: 12px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; white-space: nowrap;
	opacity: 0; visibility: hidden; pointer-events: none;
	transform: translate(-50%, -3px); transition: opacity .15s, transform .15s, visibility .15s;
}
.awb2b-hint:hover::after, .awb2b-hint:focus-visible::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
/* Mobile menu: no hover there, so the hint is a caption next to the label. */
.awb2b-menu-item__hint { display: none; }
.c-mobile-menu__item .awb2b-hint::after { content: none; }
.c-mobile-menu__item .awb2b-menu-item__hint { display: inline; margin-left: .5em; font-size: .75em; font-weight: 400; text-transform: none; letter-spacing: 0; opacity: .6; }

/* B2B section (Section, Buyer_Bar): accent bar on top, accent line on the
   sticky header, filled header button. Only inside the section — the shop's
   own pages look the same for everybody. --awb2b-accent comes from settings. */
.awb2b-section { --awb2b-accent: #1d3f66; }
.awb2b-bar { background: var(--awb2b-accent); color: #fff; font-size: 13px; line-height: 1.3; }
.awb2b-bar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 24px; min-height: 40px; padding: 6px 20px; box-sizing: border-box; }
.awb2b-bar p { margin: 0; }
.awb2b-bar__who { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.awb2b-bar__badge { padding: 3px 6px; background: #fff; color: var(--awb2b-accent); border-radius: 2px; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: .06em; }
.awb2b-bar__mode { font-weight: 600; letter-spacing: .02em; }
.awb2b-bar__net { font-weight: 400; opacity: .85; }
.awb2b-bar__company { padding-left: 10px; border-left: 1px solid rgba(255, 255, 255, .35); opacity: .85; }
.awb2b-bar__notice { flex: 1 1 auto; text-align: center; opacity: .9; }
.awb2b-bar__links { display: flex; align-items: center; gap: 16px; }
.awb2b-bar .awb2b-bar__link { color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.awb2b-bar .awb2b-bar__link:first-child { padding: 5px 10px; border: 1px solid rgba(255, 255, 255, .6); }
.awb2b-bar .awb2b-bar__link:hover, .awb2b-bar .awb2b-bar__link:focus-visible { color: #fff; text-decoration: underline; }
.awb2b-bar .awb2b-bar__link:first-child:hover, .awb2b-bar .awb2b-bar__link:first-child:focus-visible { background: #fff; color: var(--awb2b-accent); text-decoration: none; }
@media (max-width: 767px) {
	.awb2b-bar__inner { padding: 6px 16px; gap: 6px 12px; }
	.awb2b-bar__company, .awb2b-bar__link--secondary { display: none; }
	.awb2b-bar__notice { order: 3; flex-basis: 100%; font-size: 12px; text-align: left; }
}
/* The bar scrolls away; the sticky header keeps a line in the accent colour. */
.awb2b-section .c-header--sticky::before { content: ''; position: absolute; top: 0; left: 0; right: 0; z-index: 5; height: 3px; background: var(--awb2b-accent); pointer-events: none; }
.awb2b-section .awb2b-header-link__text { background: var(--awb2b-accent); border-color: var(--awb2b-accent); color: #fff; }

/* B2B section (Section): its own menu, in a header that doesn't look like the
   shop's. Desktop: the menu row takes the accent colour (the row is narrower
   than the header, so the fill is a pseudo-element that reaches its edges).
   1190px is where the theme switches between its desktop and mobile headers. */
@media (min-width: 1190px) {
	.awb2b-section--header .c-header--desktop .c-header__row-bottom { isolation: isolate; color: #fff; --top-hover-color: rgba(255, 255, 255, .7); }
	.awb2b-section--header .c-header--desktop .c-header__row-bottom::before { content: ''; position: absolute; z-index: -1; top: 0; bottom: -1px; left: calc(-1 * var(--device-padding)); right: calc(-1 * var(--device-padding)); background: var(--awb2b-accent); }
	.awb2b-section--header .c-header--desktop .c-header__row-bottom::after { content: none; }
	/* The row is the marker now; the thin line would only double it. */
	.awb2b-section--header .c-header--desktop.c-header--sticky::before { content: none; }
	.awb2b-section .c-top-menu__item.current-menu-item > a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
	/* The way back to the shop sits apart from the section's own items. */
	.awb2b-section .c-top-menu__item.awb2b-menu-exit { margin-left: 1em; padding-left: 1em; font-weight: 400; }
	.awb2b-section .c-top-menu__item.awb2b-menu-exit::before { content: ''; position: absolute; left: 0; top: 50%; height: 14px; margin-top: -7px; border-left: 1px solid currentColor; opacity: .35; }
}
/* Phone / tablet: one header row, so the whole row takes the accent colour. */
@media (max-width: 1189px) {
	.awb2b-section--header .l-header { --header-color-bg-mobile: var(--awb2b-accent); --header-color-mobile: #fff; }
	.awb2b-section--header .c-header--mobile .c-header__logo-img { filter: brightness(0) invert(1); }
	.awb2b-section--header .c-header--mobile.c-header--sticky::before { content: none; }
	.awb2b-section .c-mobile-menu__item.awb2b-menu-exit { opacity: .7; }
}

/* Preview bar: B2B is hidden from customers while it is being tested. */
.awb2b-preview-bar { position: sticky; top: 0; z-index: 9999; padding: .6em 1em; background: #b32d2e; color: #fff; font-size: 13px; text-align: center; }
.awb2b-preview-bar a { color: #fff; text-decoration: underline; }

/* The technical `b2b` category (first, for the permalink) repeats the B2B badge: hide it and its bullet.
   Related products on the B2B product page are still the theme's tiles. */
a.c-product-grid__category-item[href$="/b2b/"],
a.c-product-grid__category-item[href$="/b2b/"] + .h-bullet { display: none; }

/* Designed pages of the section (Pages): no page box and no reading-width
   cap. The pages bring their own side padding, so the theme's (phones) goes. */
.awb2b-wide-page .c-post__container { max-width: none; width: 100%; padding-left: 0; padding-right: 0; border: 0; }
.awb2b-wide-page .c-post,
.awb2b-wide-page .c-post__wrap,
.awb2b-wide-page .c-post__content { max-width: none; width: 100%; }
.awb2b-wide-page .c-post .c-post__inner { max-width: none; width: 100%; padding: 0; }

/* Pieces shared by the designed pages (`.awb2b-ui`): page box, breadcrumb,
   page head, headings, buttons, links, photos, form fields.
   Typography is the theme's — sizes and weights only, never a font family. */
.awb2b-ui { color: #111; }
.awb2b-page { max-width: 1320px; margin: 0 auto; padding: 28px clamp(16px, 3vw, 40px) 80px; box-sizing: border-box; }
.awb2b-crumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; font-weight: 500; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; color: #777; }
.awb2b-ui .awb2b-crumbs a { color: #777; text-decoration: none; }
.awb2b-ui .awb2b-crumbs a:hover { color: #111; }
.awb2b-crumbs [aria-current] { color: #111; }
.awb2b-phd { display: flex; flex-direction: column; gap: 12px; padding: 32px 0; border-bottom: 1px solid #e6e6e6; }
.awb2b-phd--strong { border-bottom-color: #111; }
/* Catalog: heading and count on the left, the filter on the right. */
.awb2b-phd--row { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 24px; }
.awb2b-phd__main { display: flex; flex-direction: column; gap: 10px; }
.awb2b-ui .awb2b-phd > *, .awb2b-ui .awb2b-phd__main > * { margin: 0; }
.awb2b-ui .awb2b-phd__title { font-size: clamp(30px, 3.6vw, 40px); font-weight: 500; letter-spacing: -.01em; line-height: 1.1; text-align: left; text-transform: none; }
.awb2b-ui .awb2b-phd__lead { max-width: 620px; font-size: 15px; line-height: 1.6; color: #666; }
.awb2b-ui .awb2b-phd__note { font-size: 13px; color: #666; }
.awb2b-ui .awb2b-heading { margin: 0 0 24px; font-size: 20px; font-weight: 700; letter-spacing: .06em; line-height: 1.3; text-align: left; text-transform: uppercase; }

.awb2b-ui a.awb2b-btn, .awb2b-ui button.awb2b-btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 54px; padding: 0 32px; border: 1px solid #111; border-radius: 0; background: #111; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.awb2b-ui a.awb2b-btn:hover, .awb2b-ui button.awb2b-btn:hover { background: #333; border-color: #333; color: #fff; }
.awb2b-ui a.awb2b-btn--outline { background: none; color: #111; }
.awb2b-ui a.awb2b-btn--outline:hover { background: #111; border-color: #111; color: #fff; }
.awb2b-ui a.awb2b-btn--small { height: 44px; padding: 0 16px; font-size: 12px; }
.awb2b-ui form button.awb2b-btn { padding: 0 40px; }
.awb2b-ui a.awb2b-link { color: #111; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-ui a.awb2b-link:hover { color: #666; }
.awb2b-actions { display: flex; flex-wrap: wrap; gap: 12px; }
/* The explicit width matters: in a column flexbox a box sized by aspect-ratio alone collapses. */
.awb2b-photo { display: block; width: 100%; aspect-ratio: 2 / 3; overflow: hidden; background: #ececec; }
/* The ratio sits on the image itself: the theme forces `height: auto` on content images. */
.awb2b-photo img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }

/* Form fields (registration, contact and personalisation forms). */
.awb2b-ui .awb2b-field { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.awb2b-ui .awb2b-field--half { grid-column: auto; }
.awb2b-ui .awb2b-field label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #555; }
.awb2b-field abbr { border: 0; text-decoration: none; }
.awb2b-ui .awb2b-field input[type=text], .awb2b-ui .awb2b-field input[type=email], .awb2b-ui .awb2b-field input[type=tel], .awb2b-ui .awb2b-field input[type=password], .awb2b-ui .awb2b-field input[type=number], .awb2b-ui .awb2b-field select { box-sizing: border-box; width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 0 14px; border: 1px solid #ccc; border-radius: 0; background-color: #fff; box-shadow: none; font-size: 15px; color: #111; }
.awb2b-ui .awb2b-field textarea { box-sizing: border-box; width: 100%; min-height: 0; margin: 0; padding: 12px 14px; border: 1px solid #ccc; border-radius: 0; background-color: #fff; box-shadow: none; font-size: 15px; line-height: 1.5; color: #111; resize: vertical; }
.awb2b-ui .awb2b-field input:focus, .awb2b-ui .awb2b-field select:focus, .awb2b-ui .awb2b-field textarea:focus { border-color: #111; outline: none; }
.awb2b-ui .awb2b-field.has-error input, .awb2b-ui .awb2b-field.has-error select, .awb2b-ui .awb2b-field.has-error textarea, .awb2b-field.has-error .awb2b-file__box { border-color: #9a3b1f; }
.awb2b-field__error { font-size: 12px; color: #9a3b1f; }
.awb2b-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.awb2b-notice { padding: 1em 1.25em; margin: 0 0 1.5em; border-left: 4px solid; }
.awb2b-notice p { margin: 0; }
.awb2b-notice p + p { margin-top: .5em; }
.awb2b-notice--success { border-color: #007017; background: rgba(0, 112, 23, .06); }
.awb2b-notice--error { border-color: #b32d2e; background: rgba(179, 45, 46, .06); }

/* "How it works" strip (registration: number beside the text; personalisation: above it). */
.awb2b-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); overflow: hidden; margin: 0; padding: 0; list-style: none; border: 1px solid #e6e6e6; background: #fafafa; }
.awb2b-steps--attached { border-top: 0; }
.awb2b-ui .awb2b-steps__item { display: flex; align-items: flex-start; gap: 16px; margin: 0 -1px -1px 0; padding: 22px 24px; border-right: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; }
.awb2b-steps--stacked { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.awb2b-ui .awb2b-steps--stacked .awb2b-steps__item { flex-direction: column; gap: 6px; }
.awb2b-steps__n { padding-top: 2px; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--awb2b-accent, #1d3f66); }
.awb2b-steps--stacked .awb2b-steps__n { padding-top: 0; }
.awb2b-steps__text { display: flex; flex-direction: column; gap: 4px; }
.awb2b-steps--stacked .awb2b-steps__text { gap: 6px; }
.awb2b-steps__title { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.awb2b-steps__desc { font-size: 13px; line-height: 1.5; color: #666; }

/* Text column + form (contact, personalisation inquiry). */
.awb2b-inquiry { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px 56px; padding-top: 40px; scroll-margin-top: 100px; }
.awb2b-inquiry__aside { flex: 1 1 280px; display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.awb2b-inquiry__aside--tight { gap: 12px; }
.awb2b-ui .awb2b-inquiry__aside > * { margin: 0; }
.awb2b-ui .awb2b-inquiry__intro { font-size: 15px; line-height: 1.6; color: #555; }
.awb2b-reach { display: flex; flex-direction: column; gap: 6px; padding-top: 16px; border-top: 1px solid #e6e6e6; }
.awb2b-reach:first-of-type { border-top-color: #111; }
.awb2b-reach__label { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #777; }
.awb2b-ui a.awb2b-reach__value { font-size: 18px; font-weight: 600; color: #111; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.awb2b-ui a.awb2b-reach__value:hover { color: #666; }
.awb2b-iform { flex: 2 1 560px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; min-width: 0; margin: 0; }
.awb2b-iform .awb2b-notice { grid-column: 1 / -1; margin: 0; }
.awb2b-iform > .awb2b-btn { grid-column: 1 / -1; justify-self: start; }
/* Logo file: the native input stays focusable but invisible; the dashed box is its face. */
.awb2b-file { position: relative; display: block; cursor: pointer; }
.awb2b-file input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 100%; padding: 0; margin: 0; opacity: 0; cursor: pointer; }
.awb2b-file__box { display: flex; align-items: center; box-sizing: border-box; height: 48px; padding: 0 14px; border: 1px dashed #999; overflow: hidden; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; white-space: nowrap; text-overflow: ellipsis; color: #888; }
.awb2b-file.is-picked .awb2b-file__box { color: #111; }
.awb2b-file:focus-within .awb2b-file__box { border-color: #111; }
.awb2b-sent { flex: 2 1 560px; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box; padding: 32px; border: 1px solid #111; }
.awb2b-sent__tag { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1f6b3a; }
.awb2b-sent__text { font-size: 16px; line-height: 1.5; }

/* B2B home page (Home, templates/home.php). */
.awb2b-home__section { max-width: 1320px; margin: 0 auto; padding: clamp(32px, 4vw, 56px) clamp(16px, 3vw, 40px); box-sizing: border-box; }
.awb2b-home__section--line { border-top: 1px solid #e6e6e6; }
.awb2b-home__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 24px; }
.awb2b-ui .awb2b-home__head .awb2b-heading { margin: 0; }

.awb2b-banner { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(300px, calc((100% - 56px) / 2)), 1fr)); gap: 56px; align-items: center; padding-top: clamp(32px, 5vw, 64px); padding-bottom: clamp(32px, 5vw, 64px); }
.awb2b-banner__text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.awb2b-home .awb2b-banner__text > * { margin: 0; }
.awb2b-banner__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--awb2b-accent, #1d3f66); }
.awb2b-home .awb2b-banner__title { font-size: clamp(34px, 4.6vw, 58px); font-weight: 600; letter-spacing: -.02em; line-height: 1.04; text-align: left; text-transform: none; text-wrap: balance; }
.awb2b-home .awb2b-banner__sub { font-size: clamp(15px, 1.4vw, 18px); color: #666; }
.awb2b-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
.awb2b-banner__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
.awb2b-banner__photos .awb2b-photo:nth-child(2) { margin-top: 48px; }

.awb2b-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(260px, calc((100% - 32px) / 3)), 1fr)); gap: 16px; }
/* Fewer than three categories still fill the row; wider tiles get a flatter crop so they don't grow taller. */
.awb2b-cats--count-2 { grid-template-columns: repeat(auto-fit, minmax(max(260px, calc((100% - 16px) / 2)), 1fr)); }
.awb2b-cats--count-1 { grid-template-columns: 1fr; }
.awb2b-cats--count-2 .awb2b-photo, .awb2b-cats--count-2 .awb2b-photo img { aspect-ratio: 1 / 1; }
.awb2b-cats--count-1 .awb2b-photo, .awb2b-cats--count-1 .awb2b-photo img { aspect-ratio: 21 / 9; }
.awb2b-cats--count-1 .awb2b-photo img, .awb2b-cats--count-2 .awb2b-photo img { object-position: 50% 30%; }
.awb2b-home a.awb2b-cat { display: flex; flex-direction: column; gap: 14px; color: #111; text-decoration: none; }
.awb2b-cat__foot { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #111; }
.awb2b-cat__name { font-size: 22px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.awb2b-cat__more { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
/* A category without B2B products yet: "Wkrótce" over the photo and in the foot. */
.awb2b-home a.awb2b-cat--soon { position: relative; }
.awb2b-cat__badge { position: absolute; top: 14px; left: 14px; padding: 5px 12px; background: #111; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.awb2b-cat--soon .awb2b-photo img { opacity: .7; }
.awb2b-cat--soon .awb2b-cat__more { color: #666; }

.awb2b-perso { background: #fafafa; border-top: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6; }
.awb2b-perso__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(max(300px, calc((100% - 56px) / 2)), 1fr)); gap: 56px; align-items: center; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
.awb2b-perso__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.awb2b-perso__photo { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.awb2b-perso__photo .awb2b-photo { background: #e6e6e6; }
.awb2b-perso__photo figcaption { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.awb2b-perso__text { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; max-width: 520px; }
.awb2b-home .awb2b-perso__text > * { margin: 0; }
.awb2b-home .awb2b-perso__text p { font-size: 16px; line-height: 1.65; color: #444; text-wrap: pretty; }
.awb2b-perso__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding-top: 6px; }

/* Product cards (Cards, templates/product-card.php): home page and catalog. */
.awb2b-pcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(150px, calc((100% - 60px) / 4)), 1fr)); gap: 28px 20px; }
.awb2b-pcards--catalog { margin-top: 28px; gap: 36px 20px; }
.awb2b-pcard { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.awb2b-pcard__photo { position: relative; display: block; }
.awb2b-pcard__badge { position: absolute; top: 10px; left: 10px; padding: 2px 7px; border: 1px solid #111; background: #fff; color: #111; font-size: 10px; font-weight: 700; letter-spacing: .08em; line-height: 1.5; }
.awb2b-pcard__colours { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
.awb2b-pcard__dot { width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.awb2b-pcard__cat { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #777; }
.awb2b-ui a.awb2b-pcard__name { color: #111; font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.awb2b-ui a.awb2b-pcard__name:hover { color: #666; }
.awb2b-pcard__cat + .awb2b-pcard__name { margin-top: -4px; }
.awb2b-pcard__price { display: flex; flex-direction: column; gap: 2px; }
.awb2b-pcard__net { font-size: 15px; font-weight: 600; }
.awb2b-pcard__unit { font-size: 12px; font-weight: 400; color: #666; }
.awb2b-pcard__min { font-size: 12px; color: #777; }
.awb2b-pcard__locked { font-size: 13px; color: #666; }
.awb2b-ui a.awb2b-pcard__locked { color: #666; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-ui a.awb2b-pcard__locked:hover { color: #111; }
/* Buttons line up across the row whatever sits above them. */
.awb2b-ui .awb2b-pcard a.awb2b-btn { margin-top: auto; }

/* Catalog (Catalog, templates/catalog.php). */
.awb2b-catalog__count { font-size: 13px; color: #666; }
.awb2b-filter { display: flex; flex-wrap: wrap; border: 1px solid #111; }
.awb2b-catalog a.awb2b-filter__item { display: flex; align-items: center; height: 40px; margin-right: -1px; padding: 0 18px; border-right: 1px solid #111; background: #fff; color: #111; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.awb2b-catalog a.awb2b-filter__item:hover, .awb2b-catalog a.awb2b-filter__item.is-active { background: #111; color: #fff; }
.awb2b-catalog__notice { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin-top: 24px; padding: 16px 20px; border: 1px solid #e6e6e6; background: #fafafa; font-size: 14px; line-height: 1.5; color: #444; }
.awb2b-catalog__notice-links { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13px; font-weight: 600; }
.awb2b-ui .awb2b-catalog__notice-links a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-ui .awb2b-catalog__notice-links a:hover { color: #666; }
.awb2b-ui .awb2b-empty { margin: 28px 0 0; font-size: 15px; color: #666; }
/* A filter of a category that is announced but has no products yet. */
.awb2b-filter__soon { margin-left: 8px; font-size: 9px; letter-spacing: .1em; opacity: .6; }
.awb2b-soon { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 28px; padding: clamp(24px, 4vw, 40px); border: 1px solid #e6e6e6; background: #fafafa; }
.awb2b-soon__tag { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #111; }
.awb2b-ui .awb2b-soon__text { margin: 0; font-size: 15px; line-height: 1.6; color: #444; }

@media (max-width: 767px) {
	.awb2b-banner, .awb2b-perso__inner { gap: 32px; }
	/* Phones: products two to a row, whatever the width. */
	.awb2b-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.awb2b-pcards--catalog { gap: 32px 12px; }
	.awb2b-ui a.awb2b-btn--small { padding: 0 8px; font-size: 11px; }
	.awb2b-banner__photos .awb2b-photo:nth-child(2) { margin-top: 28px; }
	/* The filter takes the whole row and its items share it. */
	.awb2b-phd--row .awb2b-filter { width: 100%; }
	.awb2b-catalog a.awb2b-filter__item { flex: 1 1 auto; justify-content: center; padding: 0 12px; }
}

/* Application for a B2B account (Registration, templates/register.php). */
.awb2b-result { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; box-sizing: border-box; max-width: 720px; margin: 56px auto 0; padding: clamp(24px, 4vw, 48px); border: 1px solid #111; }
.awb2b-ui .awb2b-result > * { margin: 0; }
.awb2b-result__tag { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #1f6b3a; }
.awb2b-result__tag--wait { color: #9a3b1f; }
.awb2b-ui .awb2b-result__title { font-size: clamp(24px, 3vw, 32px); font-weight: 600; letter-spacing: 0; line-height: 1.2; text-align: left; text-transform: none; }
.awb2b-ui .awb2b-result__text { font-size: 15px; line-height: 1.6; color: #555; }
.awb2b-result__text strong { color: #111; }
.awb2b-result__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }

.awb2b-form { display: flex; flex-direction: column; gap: 36px; max-width: 720px; margin: 48px auto 0; }
.awb2b-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; min-width: 0; margin: 0; padding: 0; border: 0; }
.awb2b-form fieldset + fieldset, .awb2b-form__end { padding-top: 28px; border-top: 1px solid #e6e6e6; }
/* Floated, a legend stops being drawn on the fieldset's border and takes a grid row. */
.awb2b-form legend { float: left; grid-column: 1 / -1; width: 100%; margin: 0; padding: 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
/* Filled in from the NIP lookup. */
.awb2b-form.is-fetched #awb2b_name, .awb2b-form.is-fetched #awb2b_address_1, .awb2b-form.is-fetched #awb2b_postcode, .awb2b-form.is-fetched #awb2b_city { background-color: #fafafa; }
.awb2b-nip { display: flex; flex-wrap: wrap; gap: 8px; }
.awb2b-form .awb2b-nip input[type=text] { flex: 1 1 220px; width: auto; }
.awb2b-form .awb2b-nip__lookup { flex: 0 0 auto; height: 48px; padding: 0 20px; border: 1px solid #111; background: #fff; color: #111; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.awb2b-form .awb2b-nip__lookup:hover { background: #111; color: #fff; }
.awb2b-form .awb2b-nip__lookup[disabled] { opacity: .5; cursor: default; }
.awb2b-nip__status { font-size: 12px; color: #888; }
.awb2b-nip__status.is-error { color: #9a3b1f; }
.awb2b-nip__status.is-ok { color: #1f6b3a; }
.awb2b-form__end { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.awb2b-ui .awb2b-field--check label { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; color: #444; cursor: pointer; }
.awb2b-ui .awb2b-field--check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #111; }
.awb2b-ui .awb2b-field--check a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-form .awb2b-form__hint { margin: 0; font-size: 14px; line-height: 1.5; color: #555; }
.awb2b-form .awb2b-notice { margin: 0; }
/* The form under the home page, while the shop has no registration page. */
.awb2b-home__register .awb2b-page { padding-top: 56px; }
@media (max-width: 600px) {
	.awb2b-ui .awb2b-field--half { grid-column: 1 / -1; }
}

/* Personalisation page (Inquiry, templates/personalization.php). */
.awb2b-technique { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 48px; padding: 40px 0; border-bottom: 1px solid #e6e6e6; }
.awb2b-technique__text { flex: 1 1 260px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.awb2b-ui .awb2b-technique__text > * { margin: 0; }
.awb2b-ui .awb2b-technique__text p, .awb2b-ui .awb2b-rule__text { font-size: 15px; line-height: 1.65; color: #555; text-wrap: pretty; }
.awb2b-technique__photos { flex: 2 1 560px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.awb2b-process { padding: 40px 0; border-bottom: 1px solid #e6e6e6; }

/* Cooperation page (Cooperation, templates/cooperation.php). */
.awb2b-rule { display: flex; flex-wrap: wrap; gap: 12px 56px; padding: 32px 0; border-bottom: 1px solid #e6e6e6; }
.awb2b-rule__head { flex: 1 1 260px; display: flex; align-items: baseline; gap: 16px; }
.awb2b-rule__n { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--awb2b-accent, #1d3f66); }
.awb2b-ui .awb2b-rule__title { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: .06em; line-height: 1.4; text-align: left; text-transform: uppercase; }
.awb2b-ui .awb2b-rule__text { flex: 2 1 560px; max-width: 720px; margin: 0; line-height: 1.7; color: #444; }
.awb2b-ui .awb2b-rule__text a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-ui .awb2b-rule__text a:hover { color: #666; }
.awb2b-coop-tiers { padding: 40px 0 0; }
.awb2b-ui .awb2b-coop-tiers .awb2b-heading { margin-bottom: 20px; }
.awb2b-coop-tiers__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.awb2b-coop-tier { display: flex; flex-direction: column; gap: 4px; padding: 18px; border: 1px solid #e6e6e6; background: #fafafa; }
.awb2b-coop-tier--quote { border-color: #111; background: #fff; }
.awb2b-coop-tier__range { font-size: 12px; font-weight: 600; color: #666; }
.awb2b-coop-tier__net { font-size: 22px; font-weight: 600; line-height: 1.3; }
.awb2b-coop-tier__unit { font-size: 13px; font-weight: 400; color: #666; }
.awb2b-coop-tier .awb2b-pcard__locked { font-size: 14px; line-height: 1.6; }
.awb2b-ui .awb2b-coop-tiers__note { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: #777; }
.awb2b-coop-actions { padding-top: 32px; }

/* B2B product page (Product_Page, templates/single-product.php): header with
   the title, meta and wholesale price cards. Typography is the theme's —
   sizes and weights only, never a font family. */
/* The section rules outrank the theme's own for children of the after-summary area (1170px, centred headings). */
.awb2b-phead-wrap, .awb2b-product .c-product__after-summary > .awb2b-order-section, .awb2b-product .c-product__after-summary > .awb2b-pdesc { max-width: 1320px; margin: 0 auto; padding-left: 40px; padding-right: 40px; box-sizing: border-box; }
.awb2b-phead-wrap { padding-top: 28px; }
.awb2b-phead { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: end; padding: 40px 0 36px; border-bottom: 1px solid #e6e6e6; }
.awb2b-phead__main { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.awb2b-phead .awb2b-phead__main > * { margin: 0; }
.awb2b-phead__meta { display: flex; flex-wrap: wrap; gap: 8px 28px; padding: 0; list-style: none; font-size: 13px; color: #666; }
.awb2b-phead__meta li { margin: 0; }
.awb2b-phead__meta span { font-weight: 600; color: #111; }
.awb2b-phead__meta a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-phead__meta a:hover { color: #666; }
/* Colour picker (templates/product-colours.php), above the price cards like the shop's switcher above its sizes: which colour the photos show. The links are the shop's own `.aw-color-link`. */
/* With the picker the columns start level, title beside the colours, as on the shop's page. */
.awb2b-phead--colours { align-items: start; }
.awb2b-colours { margin-bottom: 28px; }
.awb2b-colours .awb2b-colours__list { margin: 0; }
/* The colour itself beside its name; on the picked (dark) button the dot gets a light ring so a black one still shows. */
.awb2b-colours .aw-color-link { gap: 8px; }
.awb2b-colours__dot { flex: none; width: 12px; height: 12px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.awb2b-colours .aw-color-link--active .awb2b-colours__dot { box-shadow: 0 0 0 1px rgba(255, 255, 255, .7); }
.awb2b-product .c-product__gallery { transition: opacity .2s; }
.awb2b-product .c-product__gallery.is-loading { opacity: .5; }

.awb2b-prices { display: flex; flex-direction: column; gap: 12px; }
.awb2b-prices__label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.awb2b-prices__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.awb2b-prices__cards--many { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.awb2b-tier { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid #e6e6e6; background: #fafafa; transition: border-color .2s, background-color .2s; }
.awb2b-tier.is-active { border-color: #111; background: #fff; }
.awb2b-tier__range { font-size: 12px; font-weight: 600; color: #666; }
.awb2b-tier__net { font-size: 22px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.awb2b-tier__unit { font-size: 13px; font-weight: 400; color: #666; }
.awb2b-tier__gross { font-size: 13px; color: #666; }
.awb2b-prices .awb2b-prices__min { margin: 0; font-size: 13px; line-height: 1.5; color: #555; }
.awb2b-prices__min strong { color: #111; }
/* A visitor who is not a buyer: the log-in box stands where the price cards are. */
.awb2b-phead .awb2b-locked { margin: 0; background: #fafafa; }

/* Order table (templates/matrix.php, matrix.js). */
.awb2b-product .c-product__after-summary > .awb2b-order-section { padding-top: 40px; padding-bottom: 80px; scroll-margin-top: 100px; }
.awb2b-order__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
/* Section headings keep the theme's type; only their place changes. */
.awb2b-product .awb2b-order-section .awb2b-order__title, .awb2b-product .awb2b-pdesc .awb2b-pdesc__title { margin: 0; text-align: left; }
.awb2b-order__tools { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 12px; color: #777; }
.awb2b-order__tools .awb2b-order__clear { padding: 0; border: 0; background: none; font-size: 12px; color: #111; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.awb2b-order__tools .awb2b-order__clear:hover { color: #666; }
.awb2b-order__layout { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px; }
.awb2b-order__table { flex: 3 1 760px; min-width: 0; overflow-x: auto; border: 1px solid #e6e6e6; }

.awb2b-table { width: 100%; min-width: calc(190px + var(--awb2b-cols, 1) * 92px); margin: 0; border: 0; border-collapse: collapse; }
.awb2b-table th, .awb2b-table td { border: 0; background: none; }
.awb2b-table thead tr, .awb2b-table tfoot tr { background: #fafafa; }
.awb2b-table thead th { padding: 14px 6px; border-bottom: 1px solid #e6e6e6; font-size: 13px; font-weight: 700; text-align: center; }
.awb2b-table tfoot td { padding: 14px 6px; font-size: 14px; font-weight: 600; text-align: center; }
.awb2b-table .awb2b-table__label { padding: 14px 18px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #777; text-align: left; }
.awb2b-table .awb2b-table__sum { padding-left: 18px; padding-right: 18px; text-align: right; }
.awb2b-table tfoot .awb2b-table__total { font-size: 16px; font-weight: 700; color: #111; }
.awb2b-table tbody tr { border-bottom: 1px solid #eee; }
.awb2b-table tbody .awb2b-table__row { padding: 12px 18px; font-weight: inherit; text-align: left; white-space: nowrap; }
.awb2b-table tbody .awb2b-table__cell { padding: 8px 4px; text-align: center; vertical-align: middle; }
.awb2b-table tbody .awb2b-table__sum { padding-top: 12px; padding-bottom: 12px; font-size: 15px; font-weight: 600; color: #111; }
.awb2b-table tbody .is-zero, .awb2b-table tfoot .is-zero { color: #ccc; }
.awb2b-row { display: flex; align-items: center; gap: 10px; }
.awb2b-row__dot { flex: none; width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.awb2b-row__text { display: flex; flex-direction: column; }
.awb2b-row__name { font-size: 15px; font-weight: 600; color: #111; }
.awb2b-row__stock { font-size: 12px; font-weight: 400; color: #888; }

.awb2b-qty { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; }
.awb2b-qty__box { display: flex; align-items: stretch; box-sizing: border-box; height: 38px; border: 1px solid #ddd; background: #fcfcfc; transition: border-color .15s; }
.awb2b-qty.is-filled .awb2b-qty__box, .awb2b-qty__box:focus-within { border-color: #111; background: #fff; }
.awb2b-qty .awb2b-qty__btn { width: 26px; min-width: 0; height: auto; padding: 0; border: 0; background: none; font-size: 16px; line-height: 1; color: #888; cursor: pointer; }
.awb2b-qty .awb2b-qty__btn:hover { color: #111; }
.awb2b-qty input[type=number] { width: 34px; min-width: 0; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; outline: none; text-align: center; font-size: 15px; font-weight: 400; color: #aaa; -moz-appearance: textfield; }
.awb2b-qty.is-filled input[type=number] { font-weight: 700; color: #111; }
.awb2b-qty input::-webkit-outer-spin-button, .awb2b-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.awb2b-qty.is-out .awb2b-qty__box { opacity: .45; }
.awb2b-qty.is-out .awb2b-qty__btn { cursor: default; }
.awb2b-qty__stock { font-size: 11px; line-height: 1.3; color: #999; }
.awb2b-qty__cart { font-size: 11px; line-height: 1.3; font-weight: 600; color: #555; }
/* Colours and sizes for a visitor who is not a buyer (templates/size-table.php): the same table, a mark per cell. */
.awb2b-table--sizes tbody .awb2b-table__cell { padding: 16px 4px; }
.awb2b-size { font-size: 15px; line-height: 1; color: #111; }
.awb2b-size--none { color: #ccc; }
.awb2b-qty__none { display: flex; align-items: center; justify-content: center; width: 88px; height: 38px; background: repeating-linear-gradient(135deg, #f6f6f6 0 6px, #fff 6px 12px); font-size: 12px; color: #bbb; }

/* Summary box: beside the table while there is room, below it otherwise. */
.awb2b-summary { flex: 1 1 300px; box-sizing: border-box; position: sticky; top: 110px; display: flex; flex-direction: column; gap: 18px; padding: 24px; border: 1px solid #111; background: #fff; }
.awb2b-summary p { margin: 0; }
.awb2b-summary__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.awb2b-summary__title { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.awb2b-summary__qty { font-size: 13px; color: #666; }
.awb2b-summary__state, .awb2b-progress { display: flex; flex-direction: column; gap: 8px; }
.awb2b-progress[hidden], .awb2b-progress__mark[hidden] { display: none; }
.awb2b-progress__bar { position: relative; height: 4px; background: #eee; }
.awb2b-progress__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: #111; transition: width .25s; }
.awb2b-progress__mark { position: absolute; top: -3px; width: 1px; height: 10px; background: #999; }
.awb2b-progress__scale { position: relative; display: flex; justify-content: space-between; font-size: 11px; line-height: 1.4; color: #999; }
.awb2b-progress__min { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.awb2b-summary__status { font-size: 13px; line-height: 1.5; color: #555; }
.awb2b-summary__status:empty, .awb2b-summary__note:empty { display: none; }
.awb2b-summary__status.is-warn { color: #9a3b1f; }
.awb2b-summary__status.is-ok { color: #1f6b3a; }
.awb2b-summary__status a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.awb2b-summary__note { font-size: 12px; line-height: 1.5; color: #888; }
.awb2b-summary__rows { display: flex; flex-direction: column; gap: 10px; margin: 0; padding-top: 16px; border-top: 1px solid #eee; font-size: 14px; }
.awb2b-summary__rows div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; }
.awb2b-summary__rows dt { margin: 0; font-weight: 400; color: #666; }
.awb2b-summary__rows dd { margin: 0; font-weight: 600; white-space: nowrap; }
.awb2b-summary__rows .awb2b-summary__gross { padding-top: 12px; border-top: 1px solid #eee; }
.awb2b-summary__gross dd { font-size: 22px; font-weight: 700; }
.awb2b-summary .awb2b-summary__submit { width: 100%; height: 54px; padding: 0 12px; border: 0; background: #111; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s; }
.awb2b-summary .awb2b-summary__submit:hover { background: #333; }
.awb2b-summary .awb2b-summary__submit[disabled] { background: #bbb; opacity: 1; cursor: not-allowed; }

.awb2b-product .c-product__after-summary > .awb2b-pdesc { padding-top: 40px; padding-bottom: 64px; }
.awb2b-product .awb2b-pdesc .awb2b-pdesc__title { margin-bottom: 20px; }
.awb2b-pdesc__body { max-width: 760px; }
/* Size guide to the right of the description; below it on narrow screens. */
.awb2b-pdesc--guide .awb2b-pdesc__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 440px); gap: 48px; align-items: start; }
.awb2b-pdesc__guide { margin: 0; }
.awb2b-pdesc__guide figcaption { margin-bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.awb2b-pdesc__guide a { display: block; }
.awb2b-pdesc__guide img { display: block; width: 100%; height: auto; }
/* The category's note under the size guide (settings → Kafelki kategorii). */
.awb2b-pdesc__side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.awb2b-product .awb2b-pdesc .awb2b-pdesc__note { margin: 0; padding: 16px 20px; border: 1px solid #e6e6e6; background: #fafafa; font-size: 14px; line-height: 1.6; color: #444; }
/* "Podobne produkty" (templates/related.php): the catalog's cards under the page's own kind of heading. */
.awb2b-product .c-product__after-summary > .awb2b-related { max-width: 1320px; margin: 0 auto; padding: 40px 40px 80px; box-sizing: border-box; }
.awb2b-product .awb2b-related .awb2b-related__title { margin: 0 0 4px; text-align: left; }
@media (max-width: 767px) {
	.awb2b-product .c-product__after-summary > .awb2b-related { padding: 28px 16px 48px; }
}
@media (max-width: 999px) {
	.awb2b-pdesc--guide .awb2b-pdesc__cols { grid-template-columns: 1fr; gap: 32px; }
	.awb2b-pdesc__side { max-width: 560px; }
}

@media (max-width: 1189px) {
	.awb2b-summary { position: static; }
}
@media (max-width: 767px) {
	.awb2b-phead-wrap, .awb2b-product .c-product__after-summary > .awb2b-order-section, .awb2b-product .c-product__after-summary > .awb2b-pdesc { padding-left: 16px; padding-right: 16px; }
	.awb2b-phead { grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; padding: 24px 0 28px; }
	.awb2b-product .c-product__after-summary > .awb2b-order-section { padding-top: 28px; padding-bottom: 48px; }
	.awb2b-order__layout { gap: 20px; }
	.awb2b-summary { padding: 20px; }
	/* The table scrolls sideways on a phone; the colour stays in view. */
	.awb2b-table thead th:first-child, .awb2b-table tfoot td:first-child, .awb2b-table tbody .awb2b-table__row { position: sticky; left: 0; z-index: 1; padding-left: 12px; padding-right: 12px; }
	.awb2b-table thead th:first-child, .awb2b-table tfoot td:first-child { background: #fafafa; }
	.awb2b-table tbody .awb2b-table__row { background: #fff; box-shadow: 1px 0 0 #eee; }
}

.awb2b-cart-hint { margin-bottom: 1.5em; }
/* Wholesale line totals reach 4 digits; the theme's narrow column wraps "1 100,00 zł". */
.awb2b-buyer .woocommerce-cart-form .product-subtotal .amount,
.awb2b-buyer .c-cart__shop-td--product-subtotal .amount,
.awb2b-buyer .woocommerce-checkout-review-order-table .amount { white-space: nowrap; }
/* "netto" beside the delivery price (Shipping::label_net), sized like the one beside the subtotal. */
.awb2b-buyer .c-cart__shipping-methods-label .awb2b-tax-label { margin: 7px 0 0 5px; font-weight: 600; font-size: 13px; line-height: 16px; letter-spacing: -0.01em; text-transform: uppercase; white-space: nowrap; color: var(--text-color); }
.awb2b-checkout-note { font-size: .9em; }
.awb2b-locked-field input[readonly] { background: rgba(0, 0, 0, .04); cursor: not-allowed; }
.awb2b-order__jump .button { width: 100%; text-align: center; }
