:root {
  --pt-ink: #111820;
  --pt-ink-2: #19242f;
  --pt-charcoal: #26323d;
  --pt-muted: #66727d;
  --pt-line: #dde2e6;
  --pt-line-dark: #cbd2d8;
  --pt-soft: #f5f6f7;
  --pt-soft-2: #eef1f3;
  --pt-white: #ffffff;
  --pt-cyan: #00a8df;
  --pt-cyan-soft: #e6f8fd;
  --pt-magenta: #d41473;
  --pt-magenta-soft: #fce8f2;
  --pt-yellow: #f5c400;
  --pt-yellow-soft: #fff7d4;
  --pt-black: #0b0f13;
  --pt-green: #17824b;
  --pt-radius-sm: 8px;
  --pt-radius: 14px;
  --pt-radius-lg: 22px;
  --pt-shadow: 0 18px 48px rgba(17, 24, 32, .10);
  --pt-container: 1280px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--pt-white);
  color: var(--pt-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.pt-container {
  width: min(calc(100% - 40px), var(--pt-container));
  margin-inline: auto;
}

.pt-main {
  min-height: 60vh;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* HEADER */

.pt-topbar {
  background: var(--pt-black);
  color: rgba(255,255,255,.75);
  font-size: 12px;
}

.pt-topbar__inner {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pt-topbar__points {
  display: flex;
  align-items: center;
  gap: 26px;
}

.pt-topbar__points span {
  position: relative;
}

.pt-topbar__points span + span::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: rgba(255,255,255,.35);
  transform: translateY(-50%);
}

.pt-topbar__link {
  color: var(--pt-white);
  font-weight: 700;
}

.pt-header {
  position: sticky;
  top: 0;
  z-index: 120;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--pt-line);
  box-shadow: 0 4px 16px rgba(17,24,32,.035);
  backdrop-filter: blur(12px);
}

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

.pt-header__main {
  min-height: 92px;
  display: grid;
  grid-template-columns: 235px minmax(340px, 1fr) auto;
  align-items: center;
  gap: 28px;
}

.pt-brand .custom-logo {
  max-width: 220px;
  max-height: 62px;
  width: auto;
}

.pt-brand-lockup {
  display: inline-flex;
  flex-direction: column;
  line-height: .9;
  color: var(--pt-black);
}

.pt-brand-lockup__main {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.065em;
}

.pt-brand-lockup__main > span {
  color: var(--pt-magenta);
}

.pt-brand-lockup__sub {
  margin-top: 7px;
  color: var(--pt-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .28em;
}

.pt-search {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border: 1px solid var(--pt-line-dark);
  border-radius: 8px;
  overflow: hidden;
  background: var(--pt-white);
  transition: border-color .18s ease, box-shadow .18s ease;
}

.pt-search:focus-within {
  border-color: var(--pt-cyan);
  box-shadow: 0 0 0 3px rgba(0,168,223,.10);
}

.pt-search input {
  min-width: 0;
  padding: 0 16px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--pt-ink);
}

.pt-search input::placeholder {
  color: #98a1a9;
}

.pt-search button {
  min-width: 112px;
  padding: 0 20px;
  border: 0;
  background: var(--pt-ink);
  color: var(--pt-white);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.pt-search button:hover {
  background: var(--pt-black);
}

.pt-header__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.pt-header-action {
  display: flex;
  flex-direction: column;
  min-width: max-content;
  line-height: 1.1;
}

.pt-header-action__eyebrow {
  margin-bottom: 4px;
  color: var(--pt-muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pt-header-action strong {
  font-size: 13px;
}

.pt-header-action--quote strong {
  color: var(--pt-magenta);
}

.pt-cart-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-left: 16px;
  border-left: 1px solid var(--pt-line);
}

.pt-cart-link__label {
  font-size: 13px;
  font-weight: 700;
}

.pt-cart-link strong {
  min-width: 25px;
  height: 25px;
  display: inline-grid;
  place-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--pt-cyan);
  color: var(--pt-white);
  font-size: 11px;
}

.pt-nav-shell {
  border-top: 1px solid var(--pt-line);
  background: var(--pt-white);
}

.pt-nav-row {
  min-height: 52px;
  display: flex;
  align-items: stretch;
  position: relative;
}

.pt-catalog {
  width: 238px;
  flex: 0 0 238px;
  position: relative;
}

.pt-catalog-toggle {
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 16px;
  border: 0;
  background: var(--pt-ink);
  color: var(--pt-white);
  cursor: pointer;
}

.pt-catalog-toggle__icon {
  font-size: 17px;
}

.pt-catalog-toggle strong {
  font-size: 13px;
  letter-spacing: -.01em;
}

.pt-catalog-toggle__arrow {
  margin-left: auto;
  opacity: .75;
}

.pt-mega-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: min(1040px, calc(100vw - 40px));
  padding: 30px 30px 0;
  background: var(--pt-white);
  border: 1px solid var(--pt-line);
  border-top: 3px solid var(--pt-cyan);
  box-shadow: var(--pt-shadow);
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: .18s ease;
}

.pt-catalog:hover .pt-mega-menu,
.pt-catalog.is-open .pt-mega-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.pt-mega-menu__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

.pt-mega-menu__column {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.pt-mega-menu__title {
  margin-bottom: 8px;
  color: var(--pt-ink);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pt-mega-menu__column > a {
  color: var(--pt-muted);
  font-size: 13px;
}

.pt-mega-menu__column > a:hover,
.pt-mega-brands a:hover {
  color: var(--pt-cyan);
}

.pt-mega-brands {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 14px;
}

.pt-mega-brands a {
  color: var(--pt-ink);
  font-size: 13px;
  font-weight: 700;
}

.pt-mega-menu__footer {
  margin: 28px -30px 0;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 30px;
  background: var(--pt-soft);
  color: var(--pt-muted);
  font-size: 12px;
}

.pt-mega-menu__footer a {
  color: var(--pt-magenta);
  font-weight: 800;
}

.pt-nav {
  flex: 1;
}

.pt-nav__list {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0 0 0 26px;
  list-style: none;
}

.pt-nav__list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 52px;
  color: var(--pt-charcoal);
  font-size: 13px;
  font-weight: 700;
}

.pt-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 3px;
  background: var(--pt-cyan);
  transition: right .18s ease;
}

.pt-nav__list a:hover {
  color: var(--pt-black);
}

.pt-nav__list a:hover::after {
  right: 0;
}

.pt-menu-toggle {
  display: none;
}

/* SHARED */

.pt-kicker {
  display: inline-block;
  color: var(--pt-cyan);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pt-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.pt-button:hover {
  transform: translateY(-1px);
}

.pt-button--dark {
  background: var(--pt-ink);
  color: var(--pt-white);
}

.pt-button--dark:hover {
  background: var(--pt-black);
}

.pt-button--outline {
  border-color: var(--pt-line-dark);
  background: var(--pt-white);
  color: var(--pt-ink);
}

.pt-button--outline:hover {
  border-color: var(--pt-ink);
}

.pt-button--light {
  background: var(--pt-white);
  color: var(--pt-ink);
}

.pt-button--compact {
  min-height: 40px;
  padding-inline: 16px;
}

.pt-section {
  padding: 82px 0;
}

.pt-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 34px;
}

.pt-section-heading h2,
.pt-brands__intro h2 {
  margin: 10px 0 0;
  max-width: 760px;
  color: var(--pt-ink);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

.pt-section-heading__link {
  flex: 0 0 auto;
  color: var(--pt-ink);
  font-size: 13px;
  font-weight: 800;
}

/* HERO */

.pt-hero-v03 {
  position: relative;
  overflow: hidden;
  background: var(--pt-soft);
  border-bottom: 1px solid var(--pt-line);
}

.pt-hero-v03::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    var(--pt-cyan) 0 33.33%,
    var(--pt-magenta) 33.33% 66.66%,
    var(--pt-yellow) 66.66% 100%
  );
}

.pt-hero-v03__grid {
  min-height: 500px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(400px, .9fr);
  align-items: center;
  gap: 60px;
  padding-block: 58px;
}

.pt-hero-v03__content h1 {
  margin: 14px 0 0;
  max-width: 770px;
  color: var(--pt-black);
  font-size: clamp(42px, 5vw, 66px);
  line-height: .99;
  letter-spacing: -.055em;
}

.pt-hero-v03__content > p {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--pt-muted);
  font-size: 18px;
}

.pt-hero-v03__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.pt-hero-v03__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
}

.pt-hero-v03__proof span {
  position: relative;
  padding-left: 17px;
  color: var(--pt-charcoal);
  font-size: 12px;
  font-weight: 700;
}

.pt-hero-v03__proof span::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--pt-cyan);
}

.pt-hero-v03__proof span:nth-child(2)::before {
  background: var(--pt-magenta);
}

.pt-hero-v03__proof span:nth-child(3)::before {
  background: var(--pt-yellow);
}

.pt-hero-catalog {
  position: relative;
  overflow: hidden;
  background: var(--pt-white);
  border: 1px solid var(--pt-line-dark);
  border-radius: var(--pt-radius-lg);
  box-shadow: 0 22px 60px rgba(17,24,32,.08);
}

.pt-hero-catalog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 26px 20px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-hero-catalog__head > div {
  display: flex;
  flex-direction: column;
}

.pt-hero-catalog__head span {
  color: var(--pt-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
}

.pt-hero-catalog__head strong {
  margin-top: 5px;
  max-width: 260px;
  font-size: 18px;
  line-height: 1.15;
}

.pt-hero-catalog__head > a {
  color: var(--pt-magenta);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.pt-hero-catalog__items > a {
  min-height: 76px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--pt-line);
  transition: background .16s ease;
}

.pt-hero-catalog__items > a:hover {
  background: var(--pt-soft);
}

.pt-hero-catalog__index {
  color: #a0a8af;
  font-size: 10px;
  font-weight: 800;
}

.pt-hero-catalog__items > a > div {
  display: flex;
  flex-direction: column;
}

.pt-hero-catalog__items strong {
  font-size: 14px;
}

.pt-hero-catalog__items small {
  margin-top: 3px;
  color: var(--pt-muted);
  font-size: 11px;
}

.pt-hero-catalog__items b {
  color: var(--pt-cyan);
  font-size: 16px;
}

.pt-hero-catalog__accent {
  height: 5px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.pt-hero-catalog__accent i:nth-child(1) { background: var(--pt-cyan); }
.pt-hero-catalog__accent i:nth-child(2) { background: var(--pt-magenta); }
.pt-hero-catalog__accent i:nth-child(3) { background: var(--pt-yellow); }
.pt-hero-catalog__accent i:nth-child(4) { background: var(--pt-black); }

/* VALUE STRIP */

.pt-value-strip {
  background: var(--pt-white);
  border-bottom: 1px solid var(--pt-line);
}

.pt-value-strip__grid {
  min-height: 112px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.pt-value-strip article {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 16px;
  padding: 22px 28px;
  border-right: 1px solid var(--pt-line);
}

.pt-value-strip article:first-child {
  border-left: 1px solid var(--pt-line);
}

.pt-value-strip__icon {
  color: var(--pt-cyan);
  font-size: 11px;
  font-weight: 900;
}

.pt-value-strip article:nth-child(2) .pt-value-strip__icon {
  color: var(--pt-magenta);
}

.pt-value-strip article:nth-child(3) .pt-value-strip__icon {
  color: #b89300;
}

.pt-value-strip strong {
  font-size: 14px;
}

.pt-value-strip p {
  margin: 3px 0 0;
  color: var(--pt-muted);
  font-size: 11px;
}

/* CATEGORY MOSAIC */

.pt-section--catalog {
  background: var(--pt-white);
}

.pt-category-mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 190px;
  gap: 14px;
}

.pt-category-tile {
  grid-column: span 4;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius);
  background: var(--pt-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pt-category-tile:hover {
  transform: translateY(-3px);
  border-color: var(--pt-line-dark);
  box-shadow: var(--pt-shadow);
}

.pt-category-tile--large {
  grid-column: span 6;
  grid-row: span 2;
}

.pt-category-tile--wide {
  grid-column: span 6;
}

.pt-category-tile__top {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pt-category-tile__top span {
  color: var(--pt-muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pt-category-tile__top b {
  font-size: 15px;
}

.pt-category-tile__visual {
  position: absolute;
  right: -6px;
  top: 42px;
  width: 48%;
  height: 52%;
  display: grid;
  place-items: center;
  opacity: .95;
}

.pt-category-tile__visual strong {
  position: relative;
  z-index: 2;
  color: rgba(17,24,32,.11);
  font-size: clamp(42px, 6vw, 92px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.07em;
}

.pt-category-tile__visual i {
  position: absolute;
  width: 120px;
  height: 90px;
  border: 12px solid rgba(17,24,32,.08);
  border-radius: 12px;
  transform: rotate(-8deg);
}

.pt-category-tile--large .pt-category-tile__visual {
  top: 70px;
  right: 18px;
  width: 55%;
  height: 56%;
}

.pt-category-tile--large .pt-category-tile__visual i {
  width: 210px;
  height: 145px;
  border-width: 18px;
}

.pt-category-tile__copy {
  position: relative;
  z-index: 2;
  max-width: 78%;
}

.pt-category-tile h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.pt-category-tile p {
  margin: 8px 0 0;
  color: var(--pt-muted);
  font-size: 11px;
  line-height: 1.45;
}

.pt-category-tile--large h3 {
  font-size: 30px;
}

.pt-category-tile--large p {
  max-width: 430px;
  font-size: 13px;
}

.pt-category-tile--cyan {
  background: var(--pt-cyan-soft);
  border-color: #c8edf8;
}

.pt-category-tile--magenta {
  background: var(--pt-magenta-soft);
  border-color: #f2cde0;
}

.pt-category-tile--yellow {
  background: var(--pt-yellow-soft);
  border-color: #f0e3a3;
}

/* PRODUCT SECTION */

.pt-section--products {
  background: var(--pt-soft);
  border-block: 1px solid var(--pt-line);
}

.pt-product-grid-v03 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pt-product-card-v03 {
  overflow: hidden;
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius);
  background: var(--pt-white);
  transition: transform .18s ease, box-shadow .18s ease;
}

.pt-product-card-v03:hover {
  transform: translateY(-3px);
  box-shadow: var(--pt-shadow);
}

.pt-product-card-v03__media {
  min-height: 250px;
  position: relative;
  display: grid;
  place-items: center;
  padding: 24px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-product-card-v03__media img {
  max-height: 210px;
  width: auto;
  object-fit: contain;
}

.pt-product-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 5px 8px;
  border-radius: 5px;
  background: #e6f6ee;
  color: var(--pt-green);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.pt-product-card-v03__body {
  padding: 20px;
}

.pt-product-card-v03__brand {
  color: var(--pt-cyan);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.pt-product-card-v03 h3 {
  margin: 7px 0 14px;
  min-height: 44px;
  font-size: 16px;
  line-height: 1.35;
}

.pt-product-card-v03__price {
  min-height: 28px;
  font-size: 20px;
  font-weight: 900;
}

.pt-product-card-v03__rental {
  margin: 6px 0 0;
  color: var(--pt-muted);
  font-size: 11px;
}

.pt-product-card-v03__actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
}

.pt-product-card-v03__quote {
  color: var(--pt-magenta);
  font-size: 12px;
  font-weight: 800;
}

.pt-catalog-empty {
  min-height: 330px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 50px;
  padding: 44px;
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius-lg);
  background: var(--pt-white);
}

.pt-catalog-empty__copy {
  align-self: center;
  max-width: 690px;
}

.pt-catalog-empty__copy h3 {
  margin: 10px 0 0;
  font-size: clamp(28px, 3.5vw, 42px);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.pt-catalog-empty__copy p {
  margin: 16px 0 24px;
  color: var(--pt-muted);
}

.pt-catalog-empty__spec {
  align-self: stretch;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  border-left: 1px solid var(--pt-line);
}

.pt-catalog-empty__spec > div {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-content: center;
  gap: 4px 12px;
  padding-left: 32px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-catalog-empty__spec > div:last-child {
  border-bottom: 0;
}

.pt-catalog-empty__spec span {
  grid-row: 1 / span 2;
  color: var(--pt-cyan);
  font-size: 10px;
  font-weight: 900;
}

.pt-catalog-empty__spec strong {
  font-size: 14px;
}

.pt-catalog-empty__spec small {
  color: var(--pt-muted);
  font-size: 11px;
}

/* BRANDS */

.pt-brands {
  padding: 70px 0;
  background: var(--pt-white);
}

.pt-brands > .pt-container {
  display: grid;
  grid-template-columns: 360px 1fr;
  align-items: center;
  gap: 60px;
}

.pt-brands__intro h2 {
  font-size: clamp(28px, 3vw, 38px);
}

.pt-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--pt-line);
  border-left: 1px solid var(--pt-line);
}

.pt-brand-grid a {
  min-height: 82px;
  display: grid;
  place-items: center;
  padding: 15px;
  border-right: 1px solid var(--pt-line);
  border-bottom: 1px solid var(--pt-line);
  color: #34404a;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  transition: background .15s ease, color .15s ease;
}

.pt-brand-grid a:hover {
  background: var(--pt-soft);
  color: var(--pt-black);
}

/* BUSINESS */

.pt-section--business {
  background: var(--pt-black);
  color: var(--pt-white);
}

.pt-section--business .pt-kicker {
  color: #67d9ff;
}

.pt-section--business .pt-section-heading h2 {
  color: var(--pt-white);
}

.pt-business-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,255,255,.16);
}

.pt-business-grid article {
  min-height: 280px;
  padding: 34px 34px 32px 0;
  border-right: 1px solid rgba(255,255,255,.16);
}

.pt-business-grid article + article {
  padding-left: 34px;
}

.pt-business-grid article:last-child {
  border-right: 0;
}

.pt-business-grid article > span {
  color: #67d9ff;
  font-size: 10px;
  font-weight: 900;
}

.pt-business-grid article:nth-child(2) > span {
  color: #ff68ae;
}

.pt-business-grid article:nth-child(3) > span {
  color: #f8d94f;
}

.pt-business-grid h3 {
  margin: 60px 0 12px;
  color: var(--pt-white);
  font-size: 23px;
}

.pt-business-grid p {
  margin: 0;
  max-width: 330px;
  color: rgba(255,255,255,.65);
  font-size: 13px;
}

.pt-business-grid a {
  display: inline-block;
  margin-top: 24px;
  color: var(--pt-white);
  font-size: 12px;
  font-weight: 800;
}

/* BUY VS RENT */

.pt-choice {
  padding: 80px 0;
  background: var(--pt-soft);
}

.pt-choice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.pt-choice-card {
  min-height: 450px;
  position: relative;
  overflow: hidden;
  padding: 44px;
  border-radius: var(--pt-radius-lg);
}

.pt-choice-card--buy {
  background: var(--pt-white);
  border: 1px solid var(--pt-line);
}

.pt-choice-card--rent {
  background: var(--pt-ink);
  color: var(--pt-white);
}

.pt-choice-card__number {
  position: absolute;
  right: 34px;
  top: 20px;
  color: rgba(17,24,32,.06);
  font-size: 96px;
  font-weight: 900;
  line-height: 1;
}

.pt-choice-card--rent .pt-choice-card__number {
  color: rgba(255,255,255,.06);
}

.pt-choice-card--rent .pt-kicker {
  color: #ff68ae;
}

.pt-choice-card h2 {
  margin: 16px 0 0;
  max-width: 530px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.pt-choice-card--rent h2 {
  color: var(--pt-white);
}

.pt-choice-card ul {
  display: grid;
  gap: 12px;
  margin: 34px 0;
  padding: 0;
  list-style: none;
}

.pt-choice-card li {
  position: relative;
  padding-left: 22px;
  color: var(--pt-muted);
  font-size: 13px;
}

.pt-choice-card--rent li {
  color: rgba(255,255,255,.68);
}

.pt-choice-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--pt-cyan);
  font-weight: 900;
}

.pt-choice-card--rent li::before {
  color: #ff68ae;
}

/* CTA */

.pt-cta-v03 {
  padding: 0 0 80px;
  background: var(--pt-soft);
}

.pt-cta-v03__inner {
  min-height: 300px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  padding: 52px 56px;
  border-radius: var(--pt-radius-lg);
  background: var(--pt-black);
  color: var(--pt-white);
}

.pt-cta-v03__inner::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(
    to right,
    var(--pt-cyan) 0 33.33%,
    var(--pt-magenta) 33.33% 66.66%,
    var(--pt-yellow) 66.66% 100%
  );
}

.pt-cta-v03 .pt-kicker {
  color: #67d9ff;
}

.pt-cta-v03 h2 {
  margin: 12px 0 0;
  max-width: 820px;
  color: var(--pt-white);
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.pt-cta-v03 p {
  max-width: 760px;
  margin: 16px 0 0;
  color: rgba(255,255,255,.64);
}

.pt-cta-v03__actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.pt-cta-v03__secondary {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 700;
}

/* FOOTER */

.pt-footer-v03 {
  position: relative;
  background: #0c1116;
  color: rgba(255,255,255,.68);
}

.pt-footer-v03__accent {
  height: 4px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.pt-footer-v03__accent i:nth-child(1) { background: var(--pt-cyan); }
.pt-footer-v03__accent i:nth-child(2) { background: var(--pt-magenta); }
.pt-footer-v03__accent i:nth-child(3) { background: var(--pt-yellow); }
.pt-footer-v03__accent i:nth-child(4) { background: #ffffff; }

.pt-footer-v03__top {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr);
  gap: 44px;
  padding-block: 66px 50px;
}

.pt-brand-lockup--footer {
  color: var(--pt-white);
}

.pt-brand-lockup--footer .pt-brand-lockup__sub {
  color: rgba(255,255,255,.55);
}

.pt-footer-v03__brand p {
  max-width: 360px;
  margin: 20px 0;
  color: rgba(255,255,255,.58);
  font-size: 13px;
}

.pt-footer-v03__cta {
  color: var(--pt-white);
  font-size: 12px;
  font-weight: 800;
}

.pt-footer-v03__column {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.pt-footer-v03__column h3 {
  margin: 0 0 8px;
  color: var(--pt-white);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.pt-footer-v03__column a {
  color: rgba(255,255,255,.58);
  font-size: 12px;
}

.pt-footer-v03__column a:hover {
  color: var(--pt-white);
}

.pt-footer-v03__bottom {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.4);
  font-size: 11px;
}

/* GENERAL PAGES */

.pt-content {
  padding-block: 70px;
}

.pt-article {
  max-width: 940px;
  margin-inline: auto;
}

.pt-article__header h1 {
  margin: 0 0 28px;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

/* WOOCOMMERCE */

.pt-commerce {
  padding-block: 52px 80px;
}

.woocommerce .woocommerce-breadcrumb {
  margin-bottom: 26px;
  color: var(--pt-muted);
  font-size: 12px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 28px;
}

.woocommerce .woocommerce-ordering select {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--pt-line);
  border-radius: 7px;
  background: var(--pt-white);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

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

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 18px;
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius);
  background: var(--pt-white);
  transition: transform .18s ease, box-shadow .18s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: var(--pt-shadow);
}

.woocommerce ul.products li.product a img {
  min-height: 220px;
  max-height: 250px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--pt-white);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 44px;
  color: var(--pt-ink);
  font-size: 15px;
  line-height: 1.4;
}

.pt-loop-brand {
  margin-top: 8px;
  color: var(--pt-cyan);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.woocommerce ul.products li.product .price {
  color: var(--pt-ink);
  font-size: 18px;
  font-weight: 900;
}

.pt-loop-meta {
  display: grid;
  gap: 4px;
  margin: 8px 0 15px;
}

.pt-stock,
.pt-rental-mini {
  font-size: 10px;
}

.pt-stock--in {
  color: var(--pt-green);
  font-weight: 800;
}

.pt-rental-mini {
  color: var(--pt-muted);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.pt-commercial-actions .button {
  border-radius: 7px !important;
  background: var(--pt-ink) !important;
  color: var(--pt-white) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.pt-commercial-actions .button.alt {
  background: var(--pt-magenta) !important;
}

.woocommerce div.product {
  margin-top: 18px;
}

.woocommerce div.product div.images img {
  border-radius: var(--pt-radius);
  border: 1px solid var(--pt-line);
}

.woocommerce div.product .product_title {
  color: var(--pt-black);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.04;
  letter-spacing: -.045em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--pt-ink);
  font-size: 25px;
  font-weight: 900;
}

.pt-commercial-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.pt-rental-summary {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: var(--pt-muted);
  font-size: 11px;
}

.woocommerce table.shop_table {
  border-color: var(--pt-line);
  border-radius: var(--pt-radius);
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border-color: var(--pt-line);
  border-radius: var(--pt-radius);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--pt-line);
  border-radius: 7px;
}

/* TABLET */

@media (max-width: 1080px) {
  .pt-header__main {
    grid-template-columns: 190px 1fr auto;
    gap: 16px;
  }

  .pt-header-action--account {
    display: none;
  }

  .pt-nav__list {
    gap: 18px;
    padding-left: 18px;
  }

  .pt-nav__list li:last-child {
    display: block;
  }

  .pt-hero-v03__grid {
    grid-template-columns: 1fr 390px;
    gap: 32px;
  }

  .pt-product-grid-v03,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  .pt-brands > .pt-container {
    grid-template-columns: 1fr;
  }

  .pt-brand-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .pt-footer-v03__top {
    grid-template-columns: 1.4fr repeat(2, 1fr);
  }

  .pt-footer-v03__column:nth-child(4),
  .pt-footer-v03__column:nth-child(5) {
    margin-top: 16px;
  }
}

/* MOBILE */

@media (max-width: 780px) {
  .pt-container {
    width: min(calc(100% - 28px), var(--pt-container));
  }

  .admin-bar .pt-header {
    top: 46px;
  }

  .pt-topbar__inner {
    min-height: 36px;
  }

  .pt-topbar__points span:not(:first-child) {
    display: none;
  }

  .pt-topbar__link {
    font-size: 10px;
  }

  .pt-header {
    position: relative;
    top: auto !important;
  }

  .pt-header__main {
    min-height: auto;
    grid-template-columns: 1fr auto;
    padding-block: 15px 13px;
  }

  .pt-brand-lockup__main {
    font-size: 21px;
  }

  .pt-header__search {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .pt-search button {
    min-width: 88px;
    padding-inline: 12px;
  }

  .pt-search button span {
    font-size: 11px;
  }

  .pt-header__actions {
    gap: 10px;
  }

  .pt-header-action {
    display: none;
  }

  .pt-cart-link {
    border-left: 0;
    padding-left: 0;
  }

  .pt-cart-link__label {
    display: none;
  }

  .pt-nav-row {
    min-height: 50px;
    display: block;
  }

  .pt-menu-toggle {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: var(--pt-ink);
  }

  .pt-menu-toggle > span {
    width: 18px;
    height: 2px;
    display: none;
    background: var(--pt-ink);
  }

  .pt-menu-toggle b {
    font-size: 12px;
  }

  .pt-catalog {
    width: 100%;
    position: static;
  }

  .pt-catalog-toggle {
    height: 50px;
  }

  .pt-mega-menu {
    position: static;
    width: 100%;
    max-height: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    overflow: hidden;
    transition: max-height .22s ease;
  }

  .pt-catalog.is-open .pt-mega-menu {
    max-height: 1000px;
    padding: 20px;
    border: 1px solid var(--pt-line);
  }

  .pt-mega-menu__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 18px;
  }

  .pt-mega-menu__footer {
    margin: 20px -20px -20px;
    padding: 14px 20px;
    align-items: flex-start;
    flex-direction: column;
  }

  .pt-nav {
    display: none;
    border-top: 1px solid var(--pt-line);
  }

  .pt-nav.is-open {
    display: block;
  }

  .pt-nav__list {
    height: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
  }

  .pt-nav__list a {
    height: 46px;
    border-bottom: 1px solid var(--pt-line);
  }

  .pt-nav__list a::after {
    display: none;
  }

  .pt-hero-v03::before {
    width: 5px;
  }

  .pt-hero-v03__grid {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 36px;
    padding-block: 48px;
  }

  .pt-hero-v03__content h1 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .pt-hero-v03__content > p {
    font-size: 16px;
  }

  .pt-hero-v03__proof {
    gap: 10px 16px;
  }

  .pt-value-strip__grid {
    grid-template-columns: 1fr;
  }

  .pt-value-strip article,
  .pt-value-strip article:first-child {
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid var(--pt-line);
  }

  .pt-section {
    padding: 62px 0;
  }

  .pt-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

  .pt-category-mosaic {
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(190px, auto);
  }

  .pt-category-tile,
  .pt-category-tile--large,
  .pt-category-tile--wide {
    grid-column: 1;
    grid-row: auto;
    min-height: 210px;
  }

  .pt-category-tile--large {
    min-height: 320px;
  }

  .pt-category-tile__copy {
    max-width: 85%;
  }

  .pt-product-grid-v03,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .pt-catalog-empty {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px 24px;
  }

  .pt-catalog-empty__spec {
    border-left: 0;
    border-top: 1px solid var(--pt-line);
  }

  .pt-catalog-empty__spec > div {
    min-height: 82px;
    padding-left: 0;
  }

  .pt-brand-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .pt-business-grid {
    grid-template-columns: 1fr;
  }

  .pt-business-grid article,
  .pt-business-grid article + article {
    min-height: auto;
    padding: 28px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.16);
  }

  .pt-business-grid article:last-child {
    border-bottom: 0;
  }

  .pt-business-grid h3 {
    margin-top: 34px;
  }

  .pt-choice__grid {
    grid-template-columns: 1fr;
  }

  .pt-choice-card {
    min-height: 420px;
    padding: 34px 26px;
  }

  .pt-cta-v03__inner {
    min-height: auto;
    align-items: flex-start;
    flex-direction: column;
    padding: 38px 26px;
  }

  .pt-cta-v03__actions {
    align-items: flex-start;
  }

  .pt-footer-v03__top {
    grid-template-columns: 1fr 1fr;
    gap: 34px 24px;
  }

  .pt-footer-v03__brand {
    grid-column: 1 / -1;
  }

  .pt-footer-v03__bottom {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding-block: 18px;
  }
}


/* V0.4 BACKEND-CONNECTED COMMERCE */

.pt-product-card-v03__spec {
  min-height: 36px;
  margin: -4px 0 10px;
  color: var(--pt-muted);
  font-size: 11px;
  line-height: 1.45;
}

.pt-product-card-v03__availability {
  margin: 7px 0 0;
  color: var(--pt-muted);
  font-size: 10px;
  font-weight: 700;
}

.pt-price-on-request {
  color: var(--pt-ink);
  font-size: .92em;
  font-weight: 900;
}

.pt-remote-product-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.pt-quote-form-shell {
  max-width: 900px;
  margin: 34px 0 0;
  padding: 34px;
  border: 1px solid var(--pt-line);
  border-radius: var(--pt-radius-lg);
  background: var(--pt-soft);
}

.pt-form-message {
  margin-bottom: 22px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 13px;
}

.pt-form-message--success {
  background: #e8f7ef;
  color: #12633b;
  border: 1px solid #bfe7d0;
}

.pt-quote-form {
  margin: 0;
}

.pt-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.pt-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.pt-form-grid label > span {
  color: var(--pt-charcoal);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pt-form-grid input,
.pt-form-grid select,
.pt-form-grid textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--pt-line-dark);
  border-radius: 8px;
  background: #fff;
  color: var(--pt-ink);
  outline: 0;
}

.pt-form-grid textarea {
  min-height: 130px;
  resize: vertical;
}

.pt-form-grid input:focus,
.pt-form-grid select:focus,
.pt-form-grid textarea:focus {
  border-color: var(--pt-cyan);
  box-shadow: 0 0 0 3px rgba(0,168,223,.08);
}

.pt-form-grid__wide {
  grid-column: 1 / -1;
}

.pt-honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 780px) {
  .pt-quote-form-shell {
    padding: 24px 18px;
  }

  .pt-form-grid {
    grid-template-columns: 1fr;
  }

  .pt-form-grid__wide {
    grid-column: 1;
  }
}


.pt-category-tile__visual img {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  max-width: 250px;
  max-height: 160px;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgba(17,24,32,.08));
}

.pt-category-tile--large .pt-category-tile__visual img {
  max-width: 360px;
  max-height: 250px;
}

.pt-brand-grid a {
  gap: 8px;
  grid-template-rows: 28px auto;
}

.pt-brand-grid img {
  width: auto;
  max-width: 92px;
  height: 26px;
  max-height: 26px;
  object-fit: contain;
  opacity: .82;
}

.pt-brand-grid span {
  color: var(--pt-muted);
  font-size: 10px;
  font-weight: 700;
}

.pt-product-card-v03__media .pt-remote-product-image,
.woocommerce ul.products li.product .pt-remote-product-image {
  object-fit: contain;
  background: #fff;
}


/* V0.4.1 — PREMIUM TYPOGRAPHY, HIERARCHY & OFFICIAL BRANDING */

:root {
  --pt-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pt-font-display: "Manrope", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
}

body {
  font-family: var(--pt-font-body);
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: -.006em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.pt-hero-v03__content h1,
.pt-section-heading h2,
.pt-brands__intro h2,
.pt-choice-card h2,
.pt-cta-v03 h2,
.woocommerce div.product .product_title {
  font-family: var(--pt-font-display);
  text-wrap: balance;
}

.pt-header__main {
  grid-template-columns: 270px minmax(340px, 1fr) auto;
  min-height: 96px;
}

.pt-brand {
  display: flex;
  align-items: center;
}

.pt-official-logo-link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.pt-official-logo {
  display: block;
  width: 258px;
  max-width: 100%;
  height: auto;
}

.pt-official-logo--header {
  width: 258px;
}

.pt-official-logo-link--footer {
  width: fit-content;
  padding: 8px 11px;
  border-radius: 10px;
  background: #fff;
}

.pt-official-logo--footer {
  width: 232px;
}

.pt-topbar,
.pt-topbar__link,
.pt-nav__list a,
.pt-header-action strong,
.pt-cart-link__label,
.pt-catalog-toggle strong {
  font-weight: 500;
}

.pt-search input {
  font-size: 13px;
  font-weight: 400;
}

.pt-search button,
.pt-button {
  font-weight: 600;
}

.pt-kicker {
  font-family: var(--pt-font-body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
}

.pt-hero-v03__grid {
  min-height: 476px;
  padding-block: 52px;
}

.pt-hero-v03__content h1 {
  max-width: 720px;
  margin-top: 15px;
  font-size: clamp(38px, 4.8vw, 60px);
  font-weight: 600;
  line-height: 1.035;
  letter-spacing: -.045em;
}

.pt-hero-v03__content > p {
  max-width: 660px;
  margin-top: 19px;
  color: #66717b;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.68;
}

.pt-hero-v03__proof span {
  font-weight: 500;
}

.pt-hero-catalog__head strong {
  font-family: var(--pt-font-display);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.pt-hero-catalog__items strong {
  font-weight: 600;
}

.pt-value-strip strong {
  font-weight: 600;
}

.pt-value-strip p {
  line-height: 1.55;
}

.pt-section {
  padding: 72px 0;
}

.pt-section-heading {
  margin-bottom: 30px;
}

.pt-section-heading h2,
.pt-brands__intro h2 {
  max-width: 675px;
  margin-top: 10px;
  font-size: clamp(29px, 3.25vw, 40px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.038em;
}

.pt-section-heading__link {
  font-weight: 600;
}

.pt-category-tile h3 {
  font-family: var(--pt-font-display);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.pt-category-tile--large h3 {
  font-size: 28px;
  font-weight: 600;
}

.pt-category-tile p {
  color: #6e7881;
  line-height: 1.58;
}

.pt-product-card-v03 h3 {
  min-height: 42px;
  font-family: var(--pt-font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: -.018em;
}

.pt-product-card-v03__brand,
.pt-product-badge {
  font-weight: 600;
}

.pt-product-card-v03__price {
  font-family: var(--pt-font-display);
  font-size: 18px;
  font-weight: 700;
}

.pt-product-card-v03__spec {
  color: #707b84;
  font-size: 11px;
  line-height: 1.58;
}

.pt-price-on-request {
  font-family: var(--pt-font-display);
  font-weight: 600;
}

.pt-catalog-empty__copy h3 {
  font-family: var(--pt-font-display);
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.pt-brands {
  padding-block: 64px;
}

.pt-brand-grid a {
  font-weight: 600;
}

.pt-business-grid article {
  min-height: 250px;
}

.pt-business-grid h3 {
  margin-top: 48px;
  font-family: var(--pt-font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.022em;
}

.pt-business-grid p {
  font-size: 12px;
  line-height: 1.68;
}

.pt-choice {
  padding-block: 72px;
}

.pt-choice-card {
  min-height: 415px;
}

.pt-choice-card h2 {
  max-width: 500px;
  font-size: clamp(30px, 3.6vw, 42px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.pt-choice-card li {
  line-height: 1.55;
}

.pt-cta-v03 h2 {
  max-width: 780px;
  font-size: clamp(30px, 3.7vw, 44px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.pt-cta-v03 p {
  line-height: 1.65;
}

.pt-footer-v03__column h3 {
  font-weight: 600;
}

.pt-footer-v03__column a,
.pt-footer-v03__brand p {
  line-height: 1.65;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--pt-font-display);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.42;
}

.woocommerce ul.products li.product .price {
  font-family: var(--pt-font-display);
  font-size: 17px;
  font-weight: 700;
}

.woocommerce div.product .product_title {
  font-size: clamp(30px, 3.7vw, 44px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}

@media (max-width: 1080px) {
  .pt-header__main {
    grid-template-columns: 225px 1fr auto;
  }

  .pt-official-logo--header {
    width: 218px;
  }
}

@media (max-width: 780px) {
  .pt-header__main {
    grid-template-columns: 1fr auto;
  }

  .pt-official-logo--header {
    width: 190px;
  }

  .pt-hero-v03__content h1 {
    font-size: clamp(37px, 11vw, 50px);
  }

  .pt-section-heading h2,
  .pt-brands__intro h2 {
    font-size: clamp(27px, 8vw, 34px);
  }

  .pt-choice-card h2,
  .pt-cta-v03 h2 {
    font-size: clamp(28px, 8vw, 36px);
  }
}


/* V0.5 — SHOP & SINGLE PRODUCT */

.pt-shop-hero {
  padding: 58px 0 42px;
  border-bottom: 1px solid var(--pt-line);
  background: linear-gradient(180deg, #f7f8f9 0%, #fff 100%);
}

.pt-shop-hero__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 34px;
  margin-top: 10px;
}

.pt-shop-hero h1 {
  margin: 0;
  font-family: var(--pt-font-display);
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 600;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.pt-shop-hero p {
  max-width: 720px;
  margin: 16px 0 0;
  color: var(--pt-muted);
  font-size: 14px;
  line-height: 1.7;
}

.pt-shop-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 34px;
  padding-block: 42px 82px;
}

.pt-shop-filters {
  align-self: start;
  position: sticky;
  top: 178px;
  border: 1px solid var(--pt-line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.admin-bar .pt-shop-filters {
  top: 210px;
}

.pt-filter-block {
  padding: 20px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-filter-block__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.pt-filter-block__head strong {
  font-family: var(--pt-font-display);
  font-size: 13px;
  font-weight: 600;
}

.pt-filter-block__head a {
  color: var(--pt-magenta);
  font-size: 10px;
  font-weight: 600;
}

.pt-filter-links {
  display: grid;
  gap: 2px;
}

.pt-filter-links a {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 9px;
  border-radius: 7px;
  color: var(--pt-muted);
  font-size: 12px;
}

.pt-filter-links a:hover,
.pt-filter-links a.is-active {
  background: var(--pt-soft);
  color: var(--pt-ink);
}

.pt-filter-links a.is-active {
  box-shadow: inset 3px 0 0 var(--pt-cyan);
}

.pt-filter-links small {
  min-width: 22px;
  text-align: right;
  color: #9aa2a9;
  font-size: 10px;
}

.pt-shop-filters__reset {
  display: block;
  padding: 16px 20px;
  color: var(--pt-ink);
  font-size: 11px;
  font-weight: 600;
}

.pt-shop-toolbar {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-shop-toolbar .woocommerce-result-count,
.pt-shop-toolbar .woocommerce-ordering {
  margin: 0 !important;
}

.pt-shop-toolbar .woocommerce-result-count {
  color: var(--pt-muted);
  font-size: 11px;
}

.pt-shop-toolbar select {
  min-height: 38px !important;
  font-size: 11px;
}

.pt-shop-results .products {
  margin-bottom: 0 !important;
}

.pt-shop-pagination {
  margin-top: 34px;
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  margin: 0 3px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 7px;
  background: var(--pt-soft);
  color: var(--pt-ink);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--pt-ink);
  color: #fff;
}

.pt-product-page {
  padding-bottom: 80px;
  background: #fff;
}

.pt-product-breadcrumb {
  padding-block: 24px;
  border-bottom: 1px solid var(--pt-line);
}

.pt-product-breadcrumb .woocommerce-breadcrumb {
  margin: 0;
  color: var(--pt-muted);
  font-size: 11px;
}

.pt-product-main {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  gap: 64px;
  padding-block: 54px 64px;
}

.pt-product-gallery {
  min-height: 520px;
  display: grid;
  place-items: center;
  padding: 42px;
  border: 1px solid var(--pt-line);
  border-radius: 18px;
  background: #fff;
}

.pt-product-gallery img {
  width: 100%;
  max-width: 560px;
  max-height: 470px;
  object-fit: contain;
}

.pt-product-summary {
  align-self: center;
}

.pt-product-brand {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--pt-cyan);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pt-product-summary h1 {
  max-width: 680px;
  margin: 0;
  font-family: var(--pt-font-display);
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.05em;
}

.pt-product-specline {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--pt-muted);
  font-size: 15px;
  line-height: 1.65;
}

.pt-product-meta-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 26px;
  border: 1px solid var(--pt-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--pt-line);
}

.pt-product-meta-row > span {
  min-height: 66px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 15px;
  background: #fff;
  color: var(--pt-ink);
  font-size: 12px;
  font-weight: 500;
}

.pt-product-meta-row small {
  margin-bottom: 4px;
  color: var(--pt-muted);
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pt-product-price {
  margin-top: 28px;
  font-family: var(--pt-font-display);
  font-size: 28px;
  font-weight: 600;
}

.pt-product-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.pt-product-buy {
  margin-top: 20px;
}

.pt-product-confidence {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 32px;
  border: 1px solid var(--pt-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--pt-line);
}

.pt-product-confidence > div {
  padding: 15px;
  background: var(--pt-soft);
}

.pt-product-confidence strong,
.pt-product-confidence span {
  display: block;
}

.pt-product-confidence strong {
  font-size: 11px;
  font-weight: 600;
}

.pt-product-confidence span {
  margin-top: 5px;
  color: var(--pt-muted);
  font-size: 9px;
  line-height: 1.5;
}

.pt-product-details {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 60px;
  padding-block: 64px;
  border-top: 1px solid var(--pt-line);
}

.pt-product-details__main h2 {
  max-width: 620px;
  margin: 10px 0 24px;
  font-family: var(--pt-font-display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.pt-product-description {
  max-width: 760px;
  color: var(--pt-muted);
  line-height: 1.75;
}

.pt-product-details__side {
  display: grid;
  align-content: start;
  gap: 14px;
}

.pt-product-detail-card {
  padding: 22px;
  border: 1px solid var(--pt-line);
  border-radius: 12px;
  background: var(--pt-soft);
}

.pt-product-detail-card > span {
  display: block;
  color: var(--pt-cyan);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pt-product-detail-card p {
  margin: 10px 0 0;
  color: var(--pt-muted);
  font-size: 12px;
  line-height: 1.65;
}

.pt-product-detail-card a {
  display: inline-block;
  margin-top: 14px;
  color: var(--pt-ink);
  font-size: 11px;
  font-weight: 600;
}

.pt-related-products {
  padding-top: 56px;
  border-top: 1px solid var(--pt-line);
}

@media (max-width: 980px) {
  .pt-shop-layout {
    grid-template-columns: 1fr;
  }

  .pt-shop-filters {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .pt-shop-filters__reset {
    grid-column: 1 / -1;
  }

  .pt-product-main,
  .pt-product-details {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .pt-product-summary {
    align-self: start;
  }
}

@media (max-width: 780px) {
  .pt-shop-hero {
    padding-block: 42px 30px;
  }

  .pt-shop-hero__row {
    align-items: flex-start;
    flex-direction: column;
  }

  .pt-shop-layout {
    padding-block: 28px 60px;
  }

  .pt-shop-filters {
    grid-template-columns: 1fr;
  }

  .pt-filter-block {
    padding: 16px;
  }

  .pt-shop-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .pt-product-main {
    padding-block: 32px 48px;
  }

  .pt-product-gallery {
    min-height: 340px;
    padding: 24px;
  }

  .pt-product-summary h1 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .pt-product-meta-row {
    grid-template-columns: 1fr;
  }

  .pt-product-confidence {
    grid-template-columns: 1fr;
  }

  .pt-product-details {
    padding-block: 48px;
  }
}


.pt-search-results {
  padding-block: 42px 82px;
}

.pt-search-results .products {
  margin-bottom: 0 !important;
}

.pt-search-articles {
  display: grid;
  gap: 14px;
}

.pt-search-article {
  padding: 22px;
  border: 1px solid var(--pt-line);
  border-radius: 12px;
  background: #fff;
}

.pt-search-article h2 {
  margin: 0;
  font-family: var(--pt-font-display);
  font-size: 22px;
  font-weight: 600;
}

.pt-search-article p {
  margin: 8px 0 0;
  color: var(--pt-muted);
}

.pt-search-empty {
  max-width: 760px;
  padding: 48px;
  border: 1px solid var(--pt-line);
  border-radius: 18px;
  background: var(--pt-soft);
}

.pt-search-empty h2 {
  margin: 10px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.pt-search-empty p {
  margin: 16px 0 0;
  color: var(--pt-muted);
  line-height: 1.7;
}


/* V0.6 — CART, CHECKOUT, ACCOUNT & COMMERCIAL FLOWS */

.pt-commerce-page {
  background: #f7f8f9;
  padding: 42px 0 82px;
}

.pt-article--commerce {
  max-width: none;
}

.pt-commerce-intro,
.pt-account-intro {
  max-width: 860px;
  margin: 0 0 34px;
}

.pt-commerce-intro h1,
.pt-account-intro h1 {
  margin: 10px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.pt-commerce-intro p,
.pt-account-intro p {
  max-width: 720px;
  margin: 14px 0 0;
  color: var(--pt-muted);
  font-size: 14px;
  line-height: 1.7;
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-form-login,
.woocommerce-form-register {
  border-radius: 16px;
}

.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table {
  overflow: hidden;
  border: 1px solid var(--pt-line) !important;
  border-collapse: separate !important;
  border-spacing: 0;
  background: #fff;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 16px 18px !important;
  border-color: var(--pt-line) !important;
  vertical-align: middle;
}

.woocommerce table.shop_table th {
  color: var(--pt-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.woocommerce-cart-form__cart-item .product-name a {
  font-family: var(--pt-font-display);
  font-size: 14px;
  font-weight: 600;
}

.woocommerce-cart-form__cart-item .product-thumbnail img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: #fff;
}

.woocommerce .quantity .qty {
  min-height: 42px;
  border: 1px solid var(--pt-line-dark);
  border-radius: 7px;
  background: #fff;
}

.woocommerce a.remove {
  color: #9b3a48 !important;
  font-size: 20px;
}

.woocommerce a.remove:hover {
  background: transparent !important;
  color: #6d1d29 !important;
}

.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--pt-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 44px;
  transition: transform .18s ease, background .18s ease;
}

.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--pt-black);
  color: #fff;
  transform: translateY(-1px);
}

.woocommerce .cart-collaterals {
  margin-top: 26px;
}

.woocommerce .cart_totals {
  float: none !important;
  width: min(100%, 520px) !important;
  margin-left: auto;
  padding: 24px;
  border: 1px solid var(--pt-line);
  background: #fff;
}

.woocommerce .cart_totals h2 {
  margin: 0 0 18px;
  font-family: var(--pt-font-display);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.03em;
}

.woocommerce .wc-proceed-to-checkout {
  margin-bottom: 0;
  padding-bottom: 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  background: var(--pt-ink);
  font-size: 13px;
  font-weight: 600;
}

.woocommerce-checkout .woocommerce {
  display: block;
}

.woocommerce form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: 30px 38px;
}

.woocommerce form.checkout > .col2-set {
  grid-column: 1;
  grid-row: 1 / span 3;
}

.woocommerce form.checkout > h3,
.woocommerce form.checkout > #order_review {
  grid-column: 2;
}

.woocommerce form.checkout > h3 {
  align-self: end;
  margin: 0;
  font-family: var(--pt-font-display);
  font-size: 22px;
  font-weight: 600;
}

.woocommerce-billing-fields,
.woocommerce-additional-fields,
.woocommerce-shipping-fields,
.woocommerce-checkout-review-order {
  padding: 26px;
  border: 1px solid var(--pt-line);
  border-radius: 14px;
  background: #fff;
}

.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-shipping-fields h3 {
  margin: 0 0 20px;
  font-family: var(--pt-font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.woocommerce form .form-row {
  margin: 0 0 16px;
  padding: 0;
}

.woocommerce form .form-row label {
  margin-bottom: 6px;
  color: var(--pt-charcoal);
  font-size: 11px;
  font-weight: 600;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
  min-height: 48px;
  border: 1px solid var(--pt-line-dark);
  border-radius: 8px;
  background: #fff;
  color: var(--pt-ink);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  padding: 11px 13px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 46px;
  padding-left: 13px;
}

.select2-container .select2-selection--single .select2-selection__arrow {
  height: 46px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.select2-container--focus .select2-selection--single {
  border-color: var(--pt-cyan);
  box-shadow: 0 0 0 3px rgba(0,168,223,.08);
  outline: 0;
}

.woocommerce-checkout #payment {
  border-radius: 12px;
  background: var(--pt-soft);
}

.woocommerce-checkout #payment ul.payment_methods {
  border-color: var(--pt-line);
}

.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  color: var(--pt-muted);
  font-size: 12px;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #fff;
}

.woocommerce #payment #place_order {
  width: 100%;
  min-height: 52px;
  margin: 0;
  background: var(--pt-ink);
  font-size: 13px;
  font-weight: 600;
}

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 28px;
}

.woocommerce-account .pt-account-intro {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 12px;
  border: 1px solid var(--pt-line);
  background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
  margin-top: 3px;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 11px;
  border-radius: 7px;
  color: var(--pt-muted);
  font-size: 12px;
  font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--pt-soft);
  color: var(--pt-ink);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  box-shadow: inset 3px 0 0 var(--pt-cyan);
}

.woocommerce-account .woocommerce-MyAccount-content {
  min-height: 360px;
  padding: 28px;
  border: 1px solid var(--pt-line);
  background: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content p:first-child {
  margin-top: 0;
}

.woocommerce-account #customer_login {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
  width: auto;
  float: none;
  padding: 28px;
  border: 1px solid var(--pt-line);
  border-radius: 14px;
  background: #fff;
}

.woocommerce-account #customer_login h2 {
  margin: 0 0 18px;
  font-family: var(--pt-font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.03em;
}

.woocommerce-order-received .woocommerce-order {
  padding: 30px;
  border: 1px solid var(--pt-line);
  border-radius: 16px;
  background: #fff;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  padding: 15px 17px;
  border: 1px solid #bfe7d0;
  border-radius: 9px;
  background: #e8f7ef;
  color: #12633b;
}

.pt-quote-form-head {
  margin-bottom: 24px;
}

.pt-quote-form-head h2 {
  margin: 9px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.pt-quote-form-head p {
  margin: 10px 0 0;
  color: var(--pt-muted);
  font-size: 13px;
  line-height: 1.65;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  border-top-color: var(--pt-cyan);
  background: #fff;
  color: var(--pt-charcoal);
}

.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--pt-cyan);
}

@media (max-width: 980px) {
  .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce form.checkout > .col2-set,
  .woocommerce form.checkout > h3,
  .woocommerce form.checkout > #order_review {
    grid-column: 1;
    grid-row: auto;
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .pt-account-intro {
    grid-column: 1;
  }
}

@media (max-width: 780px) {
  .pt-commerce-page {
    padding-block: 28px 60px;
  }

  .woocommerce table.shop_table th,
  .woocommerce table.shop_table td {
    padding: 12px !important;
  }

  .woocommerce-account #customer_login {
    grid-template-columns: 1fr;
  }

  .woocommerce-billing-fields,
  .woocommerce-additional-fields,
  .woocommerce-shipping-fields,
  .woocommerce-checkout-review-order,
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 20px;
  }
}


/* V0.7 — INSTITUTIONAL, LANGUAGE SWITCHER, MODALS & AJAX UX */

.pt-topbar__actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

.pt-language-switcher {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}

.pt-language-switcher a {
  color: rgba(255,255,255,.62);
}

.pt-language-switcher a:hover,
.pt-language-switcher a.is-active {
  color: #fff;
}

.pt-language-switcher span {
  color: rgba(255,255,255,.28);
}

.pt-institutional-page {
  background: #fff;
}

.pt-article--institutional {
  margin: 0;
}

.pt-institutional-hero {
  position: relative;
  overflow: hidden;
  padding: 84px 0 76px;
  border-bottom: 1px solid var(--pt-line);
  background:
    radial-gradient(circle at 82% 18%, rgba(0,168,223,.08), transparent 26%),
    linear-gradient(180deg, #f7f8f9 0%, #fff 100%);
}

.pt-institutional-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -120px;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(17,24,32,.06);
  border-radius: 50%;
}

.pt-institutional-hero__inner {
  position: relative;
  z-index: 2;
}

.pt-institutional-hero h1 {
  max-width: 880px;
  margin: 12px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.05em;
}

.pt-institutional-hero p {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--pt-muted);
  font-size: 16px;
  line-height: 1.72;
}

.pt-institutional-body {
  padding-block: 66px 86px;
}

.pt-institutional-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.pt-institutional-card {
  grid-column: span 4;
  min-height: 255px;
  padding: 28px;
  border: 1px solid var(--pt-line);
  border-radius: 14px;
  background: #fff;
}

.pt-institutional-card > span {
  color: var(--pt-cyan);
  font-family: var(--pt-font-display);
  font-size: 11px;
  font-weight: 600;
}

.pt-institutional-card h2 {
  margin: 50px 0 0;
  font-family: var(--pt-font-display);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -.03em;
}

.pt-institutional-card p {
  margin: 12px 0 0;
  color: var(--pt-muted);
  font-size: 12px;
  line-height: 1.7;
}

.pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child,
.pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child ~ .pt-institutional-card {
  grid-column: span 3;
}

.pt-institutional-flow {
  padding-top: 78px;
}

.pt-institutional-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--pt-line);
  border-radius: 14px;
  background: var(--pt-line);
}

.pt-institutional-steps article {
  min-height: 215px;
  padding: 26px;
  background: var(--pt-soft);
}

.pt-institutional-steps article > span {
  color: var(--pt-magenta);
  font-family: var(--pt-font-display);
  font-size: 11px;
  font-weight: 600;
}

.pt-institutional-steps h3 {
  margin: 46px 0 0;
  font-family: var(--pt-font-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.pt-institutional-steps p {
  margin: 10px 0 0;
  color: var(--pt-muted);
  font-size: 12px;
  line-height: 1.65;
}

.pt-institutional-cta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-top: 72px;
  padding: 42px;
  border-radius: 16px;
  background: var(--pt-ink);
  color: #fff;
}

.pt-institutional-cta h2 {
  max-width: 680px;
  margin: 10px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.pt-institutional-cta .pt-kicker {
  color: rgba(255,255,255,.56);
}

.pt-institutional-cta__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.pt-button--outline-light {
  border: 1px solid rgba(255,255,255,.28);
  background: transparent;
  color: #fff;
}

.pt-button--outline-light:hover {
  border-color: rgba(255,255,255,.55);
  color: #fff;
}

.pt-legal-content {
  max-width: 900px;
  padding-block: 62px 88px;
}

.pt-legal-content article {
  padding: 28px 0;
  border-bottom: 1px solid var(--pt-line);
}

.pt-legal-content h2 {
  margin: 0;
  font-family: var(--pt-font-display);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.025em;
}

.pt-legal-content p {
  margin: 12px 0 0;
  color: var(--pt-muted);
  font-size: 13px;
  line-height: 1.78;
}

.pt-legal-note {
  margin-top: 30px !important;
  padding: 16px 18px;
  border-radius: 9px;
  background: var(--pt-soft);
  font-size: 11px !important;
}

.pt-modal-open {
  overflow: hidden;
}

.pt-request-modal[hidden] {
  display: none !important;
}

.pt-request-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 28px;
}

.pt-request-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,14,18,.66);
  backdrop-filter: blur(7px);
}

.pt-request-modal__dialog {
  position: relative;
  z-index: 2;
  width: min(100%, 760px);
  max-height: calc(100vh - 56px);
  overflow: auto;
  padding: 34px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.22);
}

.pt-request-modal__close {
  position: absolute;
  top: 16px;
  right: 17px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pt-line);
  border-radius: 50%;
  background: #fff;
  color: var(--pt-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.pt-request-modal__head {
  padding-right: 46px;
  margin-bottom: 24px;
}

.pt-request-modal__head h2 {
  margin: 9px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.pt-request-modal__head p {
  margin: 10px 0 0;
  color: var(--pt-muted);
  font-size: 13px;
  line-height: 1.65;
}

.pt-request-modal__status {
  min-height: 20px;
  margin: 0 0 14px;
  font-size: 12px;
}

.pt-request-modal__status.is-success {
  padding: 12px 14px;
  border: 1px solid #bfe7d0;
  border-radius: 8px;
  background: #e8f7ef;
  color: #12633b;
}

.pt-request-modal__status.is-error {
  padding: 12px 14px;
  border: 1px solid #f0c5cc;
  border-radius: 8px;
  background: #fff1f3;
  color: #8f2637;
}

.pt-shop-layout.is-loading .pt-shop-results {
  opacity: .48;
  pointer-events: none;
}

.pt-shop-results {
  transition: opacity .18s ease;
}

.pt-shop-layout.is-loading::after {
  content: "";
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 34px;
  height: 34px;
  border: 3px solid rgba(17,24,32,.12);
  border-top-color: var(--pt-cyan);
  border-radius: 50%;
  animation: pt-spin .65s linear infinite;
  z-index: 900;
}

@keyframes pt-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 980px) {
  .pt-institutional-card,
  .pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child,
  .pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child ~ .pt-institutional-card {
    grid-column: span 6;
  }

  .pt-institutional-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 780px) {
  .pt-topbar__actions {
    gap: 10px;
  }

  .pt-institutional-hero {
    padding: 54px 0 48px;
  }

  .pt-institutional-body {
    padding-block: 42px 64px;
  }

  .pt-institutional-card,
  .pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child,
  .pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child ~ .pt-institutional-card {
    grid-column: 1 / -1;
  }

  .pt-institutional-steps {
    grid-template-columns: 1fr;
  }

  .pt-institutional-cta {
    margin-top: 50px;
    padding: 28px 22px;
  }

  .pt-request-modal {
    padding: 14px;
  }

  .pt-request-modal__dialog {
    max-height: calc(100vh - 28px);
    padding: 28px 18px 22px;
    border-radius: 14px;
  }

  .pt-request-modal__head {
    padding-right: 38px;
  }
}


/* V0.7.2 — INSTITUTIONAL WIDTH, HEADER LOGO, SEARCH PILL, FOOTER LOGO */

.pt-institutional-page,
.pt-article--institutional {
  width: 100%;
  max-width: none;
}

.pt-institutional-page .pt-institutional-hero,
.pt-institutional-page .pt-institutional-body {
  width: 100%;
  max-width: none;
}

.pt-institutional-page .pt-container {
  width: min(calc(100% - 56px), 1280px);
  max-width: 1280px;
  margin-inline: auto;
}

.pt-institutional-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.pt-institutional-card,
.pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child,
.pt-institutional-grid .pt-institutional-card:nth-last-child(4):first-child ~ .pt-institutional-card {
  grid-column: auto !important;
  width: 100%;
}

.pt-institutional-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pt-header__main {
  grid-template-columns: 200px minmax(360px, 1fr) auto;
  min-height: 88px;
  gap: 24px;
}

.pt-brand {
  min-width: 0;
}

.pt-official-logo-link {
  width: 100%;
  max-width: 184px;
}

.pt-official-logo--header {
  width: auto;
  max-width: 184px;
  height: 48px;
  max-height: 48px;
  object-fit: contain;
  object-position: left center;
}

.pt-search {
  min-height: 48px;
  border-radius: 999px;
  overflow: hidden;
  padding: 4px;
}

.pt-search input {
  padding-left: 18px;
}

.pt-search button {
  min-width: 108px;
  min-height: 40px;
  border-radius: 999px;
  padding-inline: 20px;
}

.pt-official-logo-link--footer {
  display: inline-flex;
  width: auto;
  max-width: 285px;
  padding: 14px 18px;
  border-radius: 12px;
  background: #fff;
  overflow: visible;
}

.pt-official-logo--footer {
  display: block;
  width: 248px;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

@media (max-width: 1180px) {
  .pt-header__main {
    grid-template-columns: 178px minmax(280px, 1fr) auto;
    gap: 16px;
  }

  .pt-official-logo-link,
  .pt-official-logo--header {
    max-width: 166px;
  }

  .pt-official-logo--header {
    height: 44px;
    max-height: 44px;
  }
}

@media (max-width: 980px) {
  .pt-institutional-page .pt-container {
    width: min(calc(100% - 36px), 100%);
  }

  .pt-institutional-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pt-institutional-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .pt-institutional-page .pt-container {
    width: min(calc(100% - 28px), 100%);
  }

  .pt-institutional-grid {
    grid-template-columns: 1fr;
  }

  .pt-official-logo-link,
  .pt-official-logo--header {
    max-width: 156px;
  }

  .pt-official-logo--header {
    height: 42px;
    max-height: 42px;
  }

  .pt-search {
    border-radius: 999px;
  }

  .pt-search button {
    min-width: 84px;
    min-height: 40px;
    border-radius: 999px;
  }

  .pt-official-logo-link--footer {
    max-width: 255px;
  }

  .pt-official-logo--footer {
    width: 220px;
  }
}


/* V0.7.2 — targeted desktop layout, header branding and modal reliability */

/* Institutional pages must use the same full site canvas as the storefront. */
.pt-institutional-page-shell .pt-content--institutional,
.pt-institutional-page-shell .pt-article--institutional,
.pt-institutional-page-shell .pt-article--institutional .pt-article__content {
  width: 100%;
  max-width: none;
}

.pt-institutional-page-shell .pt-content--institutional {
  padding-top: 0;
  padding-bottom: 0;
}

.pt-institutional-page-shell .pt-article--institutional {
  margin: 0;
}

.pt-institutional-page-shell .pt-article--institutional .pt-article__content > section,
.pt-institutional-page-shell .pt-article--institutional .pt-article__content > div {
  width: 100%;
  max-width: none;
}

/* Header logo: classic, contained and visually aligned with search height. */
.pt-header__main {
  align-items: center;
  grid-template-columns: minmax(170px, 220px) minmax(360px, 1fr) auto;
}

.pt-brand,
.pt-official-logo-link {
  min-width: 0;
}

.pt-official-logo-link {
  width: auto;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
}

.pt-official-logo--header {
  width: auto !important;
  height: 44px !important;
  max-width: 205px !important;
  max-height: 44px !important;
  object-fit: contain !important;
  object-position: left center;
}

/* Search: true pill container, not a rounded rectangle. */
.pt-search {
  min-height: 48px;
  height: 48px;
  border: 1px solid var(--pt-line-dark);
  border-radius: 999px !important;
  overflow: hidden;
  background: #fff;
  padding: 3px;
}

.pt-search input {
  min-width: 0;
  min-height: 40px;
  height: 40px;
  border: 0 !important;
  border-radius: 999px 0 0 999px !important;
  background: transparent;
  box-shadow: none !important;
  padding-left: 16px;
}

.pt-search button {
  min-height: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px !important;
  padding-inline: 24px;
}

.pt-search:focus-within {
  border-color: var(--pt-cyan);
  box-shadow: 0 0 0 3px rgba(0,168,223,.08);
}

/* Footer logo stays on white and must never crop the full wordmark. */
.pt-official-logo-link--footer {
  width: fit-content;
  height: auto;
  min-height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 10px;
  overflow: visible;
  background: #fff;
}

.pt-official-logo--footer {
  width: 230px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center;
}

/* Reliable commercial popup */
html.pt-modal-open,
body.pt-modal-open {
  overflow: hidden;
}

.pt-request-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  place-items: center;
  padding: 24px;
}

.pt-request-modal.is-open {
  display: grid;
}

.pt-request-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 16, 23, .58);
  backdrop-filter: blur(5px);
}

.pt-request-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 660px);
  max-height: min(88vh, 760px);
  overflow-y: auto;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(9,16,23,.22);
  outline: none;
}

.pt-request-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pt-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pt-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.pt-request-modal__head {
  padding-right: 42px;
  margin-bottom: 24px;
}

.pt-request-modal__head h2 {
  margin: 8px 0 0;
  font-family: var(--pt-font-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.pt-request-modal__head p {
  margin: 11px 0 0;
  color: var(--pt-muted);
  font-size: 13px;
  line-height: 1.65;
}

.pt-request-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.pt-request-modal__form label {
  display: grid;
  gap: 7px;
}

.pt-request-modal__form label > span {
  color: var(--pt-charcoal);
  font-size: 11px;
  font-weight: 600;
}

.pt-request-modal__form input,
.pt-request-modal__form textarea {
  width: 100%;
  border: 1px solid var(--pt-line-dark);
  border-radius: 9px;
  background: #fff;
  color: var(--pt-ink);
  font: inherit;
}

.pt-request-modal__form input {
  min-height: 46px;
  padding: 9px 12px;
}

.pt-request-modal__form textarea {
  resize: vertical;
  padding: 11px 12px;
}

.pt-request-modal__form input:focus,
.pt-request-modal__form textarea:focus {
  border-color: var(--pt-cyan);
  box-shadow: 0 0 0 3px rgba(0,168,223,.08);
  outline: none;
}

.pt-request-modal__message {
  margin-top: 15px;
}

.pt-request-modal__feedback {
  min-height: 20px;
  margin-top: 14px;
  font-size: 12px;
}

.pt-request-modal__feedback.is-success {
  color: #14633b;
}

.pt-request-modal__feedback.is-error {
  color: #9a2738;
}

.pt-request-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.pt-request-modal__honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

/* Keep the modal usable even before the final full mobile pass. */
@media (max-width: 780px) {
  .pt-request-modal {
    padding: 14px;
  }

  .pt-request-modal__dialog {
    padding: 26px 20px;
    border-radius: 14px;
  }

  .pt-request-modal__grid {
    grid-template-columns: 1fr;
  }
}


/* V0.7.3 — institutional proportions + fail-closed commercial modal */

/*
 * The outer institutional page canvas is full width, but content sections that
 * intentionally carry .pt-container must remain centred and capped.
 */
.pt-institutional-page-shell .pt-content--institutional,
.pt-institutional-page-shell .pt-article--institutional,
.pt-institutional-page-shell .pt-article--institutional .pt-article__content {
  width: 100%;
  max-width: none;
  margin: 0;
}

.pt-institutional-page-shell .pt-content--institutional {
  padding: 0;
}

.pt-institutional-page-shell .pt-institutional-hero {
  width: 100%;
  max-width: none;
}

.pt-institutional-page-shell .pt-article--institutional .pt-article__content > .pt-institutional-body.pt-container,
.pt-institutional-page-shell .pt-article--institutional .pt-article__content > .pt-legal-content.pt-container {
  width: min(calc(100% - 40px), var(--pt-container)) !important;
  max-width: var(--pt-container) !important;
  margin-inline: auto !important;
}

/*
 * Hidden is the canonical closed state. This rule deliberately uses !important
 * so an older cached rule declaring display:grid cannot trap the visitor.
 */
.pt-request-modal[hidden] {
  display: none !important;
}

.pt-request-modal:not([hidden]).is-open {
  display: grid !important;
}

@media (max-width: 780px) {
  .pt-institutional-page-shell .pt-article--institutional .pt-article__content > .pt-institutional-body.pt-container,
  .pt-institutional-page-shell .pt-article--institutional .pt-article__content > .pt-legal-content.pt-container {
    width: min(calc(100% - 28px), var(--pt-container)) !important;
  }
}


/* PrintTech V0.8 dynamic Hero — keeps the approved V0.7.x composition. */
.pt-hero-v03--dynamic { isolation:isolate; }
.pt-hero-v03--dynamic::before { display:none; }
.pt-hero-v03--dynamic .pt-hero-v03__grid { position:relative; z-index:2; }
.pt-hero-v03__backgrounds { position:absolute; inset:0; z-index:0; pointer-events:none; }
.pt-hero-v03__background { position:absolute; inset:0; opacity:0; background-size:cover; background-position:center; background-repeat:no-repeat; transition:opacity .65s ease; }
.pt-hero-v03__background.is-active { opacity:1; }
.pt-hero-v03__controls { position:absolute; z-index:5; top:0; bottom:0; left:0; width:9px; display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); }
.pt-hero-v03__bar { appearance:none; display:block; border:0; padding:0; margin:0; cursor:pointer; width:9px; height:100%; opacity:.68; position:relative; transition:opacity .2s ease,width .2s ease,filter .2s ease; }
.pt-hero-v03__bar--1 { background:#00acd6; }
.pt-hero-v03__bar--2 { background:#d20e70; }
.pt-hero-v03__bar--3 { background:#ecca00; }
.pt-hero-v03__bar.is-active { opacity:1; width:12px; filter:saturate(1.1); }
.pt-hero-v03__bar.is-active::after { content:""; display:block; height:100%; width:2px; right:0; top:0; position:absolute; background:rgba(255,255,255,.7); }
.pt-hero-v03__bar:focus-visible { outline:2px solid #141b22; outline-offset:2px; }
.pt-hero-v03__slide[hidden] { display:none!important; }
.pt-hero-v03__slide > p { max-width:720px; margin:22px 0 0; color:var(--pt-muted); font-size:18px; }
@media(max-width:780px) {
  .pt-hero-v03--dynamic .pt-hero-v03__controls { width:6px; }
  .pt-hero-v03--dynamic .pt-hero-v03__bar { width:6px; }
  .pt-hero-v03--dynamic .pt-hero-v03__bar.is-active { width:8px; }
  .pt-hero-v03__slide > p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .pt-hero-v03__background,.pt-hero-v03__bar { transition:none; }
}


/* V0.8.1 Hero: user-controlled independent color layer, 0–100%. */
.pt-hero-v03--dynamic .pt-hero-v03__background { background-position:center; background-size:cover; }
.pt-hero-v03--dynamic .pt-hero-v03__background::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:var(--pt-hero-overlay-color,#f6f8fa);
  opacity:var(--pt-hero-overlay-opacity,.25);
}
.pt-hero-v03__slide--light-text h1,
.pt-hero-v03__slide--light-text > p,
.pt-hero-v03__slide--light-text .pt-kicker { color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.25); }
.pt-hero-v03__slide--light-text .pt-button--outline { background:rgba(255,255,255,.94); color:#18222c; }
.pt-hero-v03--dynamic .pt-hero-catalog { z-index:2; }

/* V0.8.1 Category mosaic: original grid, sizes, colors and category hierarchy remain. */
.pt-category-tile--carousel { isolation:isolate; }
.pt-category-tile--carousel .pt-category-tile__top a,
.pt-category-tile--carousel .pt-category-tile__copy h3 a { color:inherit; text-decoration:none; }
.pt-category-tile--carousel .pt-category-tile__top a:hover,
.pt-category-tile--carousel .pt-category-tile__copy h3 a:hover { text-decoration:underline; }
.pt-category-tile--carousel .pt-category-tile__top { z-index:5; }
.pt-category-tile__category-arrow { font-weight:700; font-size:16px; }
.pt-category-tile--carousel .pt-category-tile__copy { z-index:4; max-width:58%; padding-bottom:0; pointer-events:auto; }
.pt-category-tile--carousel .pt-category-tile__copy h3 { font-size:clamp(16px,1.4vw,19px); }
.pt-category-tile--large.pt-category-tile--carousel .pt-category-tile__copy { max-width:70%; }
.pt-category-tile--large.pt-category-tile--carousel .pt-category-tile__copy h3 { font-size:clamp(24px,2.4vw,30px); }
.pt-category-tile--carousel .pt-category-tile__copy p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pt-category-tile__product-slide[hidden] { display:none!important; }
.pt-category-tile__product-slide { position:absolute; inset:0; pointer-events:none; z-index:3; }
.pt-category-tile__product-slide.is-active { pointer-events:none; }
.pt-category-tile__product-media { display:grid; place-items:center; position:absolute; top:25px; right:7px; width:49%; height:63%; pointer-events:auto; }
.pt-category-tile__product-media img { object-fit:contain; display:block; max-width:100%; max-height:100%; width:auto; height:auto; filter:drop-shadow(0 9px 15px rgba(17,24,32,.1)); }
.pt-category-tile__product-copy { position:absolute; top:49px; left:24px; max-width:45%; display:flex; flex-direction:column; gap:4px; pointer-events:auto; }
.pt-category-tile__product-brand { text-transform:uppercase; color:#566c79; font-size:9px; letter-spacing:.1em; font-weight:800; }
.pt-category-tile__product-copy > a { color:#111820; font-size:12px; font-weight:750; line-height:1.18; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pt-category-tile__product-copy > a:hover { text-decoration:underline; }
.pt-category-tile__product-copy small { color:#526270; font-size:10px; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pt-category-tile__product-sku { color:#72808b; font-size:9px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pt-category-tile__nav { z-index:6; position:absolute; right:10px; bottom:10px; display:flex; align-items:center; gap:5px; padding:3px 5px; background:rgba(255,255,255,.86); border:1px solid rgba(17,24,32,.09); border-radius:50px; box-shadow:0 5px 12px rgba(0,0,0,.04); }
.pt-category-tile__nav button { border:0; border-radius:99px; background:transparent; width:24px; height:24px; padding:0; cursor:pointer; font-size:20px; line-height:1; color:#17232d; }
.pt-category-tile__nav button:hover { background:rgba(17,24,32,.08); }
.pt-category-tile__nav button:focus-visible { outline:2px solid #00a9d6; outline-offset:1px; }
.pt-category-tile__nav span { color:#44525f; font-size:9px; font-weight:700; min-width:24px; text-align:center; font-variant-numeric:tabular-nums; }
.pt-category-tile--large .pt-category-tile__product-media { top:50px; right:18px; width:53%; height:58%; }
.pt-category-tile--large .pt-category-tile__product-copy { top:105px; left:24px; width:40%; }
.pt-category-tile--large .pt-category-tile__product-copy > a { font-size:15px; }
.pt-category-tile--large .pt-category-tile__product-copy small { font-size:12px; -webkit-line-clamp:3; }
.pt-category-tile--large .pt-category-tile__product-sku { font-size:10px; }
.pt-category-tile--wide .pt-category-tile__product-media { width:40%; height:66%; }
.pt-category-tile--wide .pt-category-tile__product-copy { max-width:48%; }
@media(max-width:850px) {
  .pt-category-tile__product-copy { top:43px; left:14px; max-width:48%; }
  .pt-category-tile--large .pt-category-tile__product-copy { left:18px; }
  .pt-category-tile__product-copy small { display:none; }
  .pt-category-tile__product-sku { display:none; }
}
@media(max-width:600px) {
  .pt-category-tile--carousel .pt-category-tile__copy { max-width:69%; }
  .pt-category-tile__product-media { width:48%; right:3px; }
  .pt-category-tile__product-copy { max-width:48%; }
}
@media(prefers-reduced-motion:reduce) {
  .pt-category-tile--carousel { transition:none; }
}


/* V0.8.1.1 — Content typography is independent of the Hero image & overlay. */
.pt-hero-v03--dynamic .pt-hero-v03__slide .pt-kicker { color:var(--ptc-kicker,#188aa7); }
.pt-hero-v03--dynamic .pt-hero-v03__slide h1 { color:var(--ptc-title,#111820); }
.pt-hero-v03--dynamic .pt-hero-v03__slide > p { color:var(--ptc-description,#66717b); }
.pt-hero-v03--dynamic .pt-hero-v03__slide .pt-hero-v03__actions .pt-button--dark {
  background:var(--ptc-primary-bg,#151c24);
  border-color:var(--ptc-primary-bg,#151c24);
  color:var(--ptc-primary-text,#fff);
}
.pt-hero-v03--dynamic .pt-hero-v03__slide .pt-hero-v03__actions .pt-button--outline {
  background:var(--ptc-secondary-bg,#fff);
  border-color:var(--ptc-secondary-border,#cbd2d8);
  color:var(--ptc-secondary-text,#151c24);
}
/* V0.8.1.1 — Two completely separate content zones in every populated card.
   The product occupies the area above the fixed category footer. */
.pt-category-tile--has-products {
  --pt-card-top: 34px;
  --pt-card-bottom: 53px;
}
.pt-category-tile--has-products .pt-category-tile__top {
  z-index:7;
}
.pt-category-tile--has-products .pt-category-tile__product-slide {
  position:absolute;
  inset:var(--pt-card-top) 12px var(--pt-card-bottom) 18px;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  column-gap:4px;
  min-height:0;
  overflow:hidden;
  pointer-events:none;
}
.pt-category-tile--has-products .pt-category-tile__product-slide[hidden] { display:none!important; }
.pt-category-tile--has-products .pt-category-tile__product-copy {
  position:static;
  grid-column:1;
  grid-row:1;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  display:flex;
  flex-direction:column;
  align-self:center;
  justify-self:stretch;
  gap:4px;
  pointer-events:auto;
}
.pt-category-tile--has-products .pt-category-tile__product-media {
  position:static;
  grid-column:2;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  pointer-events:auto;
}
.pt-category-tile--has-products .pt-category-tile__product-media img {
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.pt-category-tile--has-products .pt-category-tile__product-brand {
  font-size:9px;
  line-height:1.2;
  margin:0;
}
.pt-category-tile--has-products .pt-category-tile__product-copy > a {
  font-size:12px;
  line-height:1.23;
  -webkit-line-clamp:2;
  overflow-wrap:anywhere;
}
.pt-category-tile--has-products .pt-category-tile__product-copy small,
.pt-category-tile--has-products .pt-category-tile__product-sku { display:none!important; }
.pt-category-tile--has-products .pt-category-tile__copy,
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__copy {
  position:absolute;
  z-index:5;
  left:18px;
  bottom:15px;
  width:calc(100% - 130px);
  max-width:none;
  margin:0;
  padding:0;
}
.pt-category-tile--has-products .pt-category-tile__copy h3 {
  font-size:clamp(15px,1.25vw,19px);
  line-height:1.18;
  overflow-wrap:anywhere;
}
.pt-category-tile--has-products .pt-category-tile__copy p { display:none; }
.pt-category-tile--has-products .pt-category-tile__nav { right:10px; bottom:10px; }
.pt-category-tile--large.pt-category-tile--has-products {
  --pt-card-top:55px;
  --pt-card-bottom:74px;
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__product-slide {
  inset:var(--pt-card-top) 20px var(--pt-card-bottom) 22px;
  grid-template-columns:minmax(0,40%) minmax(0,60%);
  column-gap:8px;
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__product-copy {
  gap:7px;
  align-self:center;
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__product-copy > a {
  font-size:15px;
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__product-copy small {
  display:-webkit-box!important;
  font-size:11px;
  line-height:1.4;
  -webkit-line-clamp:2;
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__copy {
  bottom:19px;
  left:22px;
  width:calc(100% - 130px);
}
.pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__copy h3 {
  font-size:clamp(22px,2vw,28px);
}
@media(max-width:850px) {
  .pt-category-tile--has-products .pt-category-tile__product-copy { max-width:100%; }
  .pt-category-tile--has-products .pt-category-tile__product-copy small { display:none!important; }
  .pt-category-tile--large.pt-category-tile--has-products .pt-category-tile__product-copy small { display:-webkit-box!important; }
}
@media(max-width:600px) {
  .pt-category-tile--has-products { --pt-card-top:35px; --pt-card-bottom:52px; }
  .pt-category-tile--has-products .pt-category-tile__product-slide { left:16px; right:8px; }
  .pt-category-tile--has-products .pt-category-tile__copy { left:16px; width:calc(100% - 120px); }
  .pt-category-tile--has-products .pt-category-tile__product-copy > a { font-size:12px; }
}


/* PrintTech IT expansion — compact corporate contact bar, responsive management and catalog */
.pt-topbar__actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.pt-topbar__contact,.pt-topbar__socials a{display:inline-flex;align-items:center;gap:6px;color:#edf4f6;text-decoration:none;font-size:10px;font-weight:600;white-space:nowrap}
.pt-topbar__contact:hover,.pt-topbar__socials a:hover{color:#fff}
.pt-topbar__socials{display:flex;align-items:center;gap:12px}
.pt-topbar__socials a{padding:3px}
.pt-header-icon{display:inline-block;width:15px;height:15px;flex:0 0 15px;vertical-align:middle}
.pt-header-action--gestao{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dce5ea;border-radius:8px;text-decoration:none;font-size:11px;font-weight:750;color:#182934;white-space:nowrap;transition:background .18s,color .18s}
.pt-header-action--gestao:hover{background:#f0f7fa;color:#0c7399}
.pt-mega-menu__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.pt-mega-menu__column--it{min-width:0}
.pt-mega-menu__column--it a{font-size:11px}
.pt-mega-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.pt-mega-brands a{font-size:10px;overflow-wrap:anywhere}
.woocommerce ul.products li.product a img,.woocommerce ul.products li.product .pt-remote-product-image{width:100%;height:215px;min-height:0;max-height:none;object-fit:contain;padding:12px;background:transparent}
.pt-shop-filters .pt-filter-links a{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pt-shop-filters .pt-filter-links a small{flex-shrink:0}
.pt-market-reference{display:block;margin-top:5px;font-size:10px;color:#657682;line-height:1.45;font-weight:500}
@media(max-width:1250px){.pt-topbar__points span:nth-child(n+2){display:none}.pt-topbar__actions{gap:12px}.pt-mega-menu__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1080px){.pt-header-action--gestao{display:inline-flex}.pt-topbar__contact[href^="mailto:"] span{display:none}}
@media(max-width:780px){
 .pt-topbar__inner{min-height:35px;gap:7px}
 .pt-topbar__points{display:none}
 .pt-topbar__actions{width:100%;justify-content:space-between;gap:7px}
 .pt-topbar__contact{font-size:10px}
 .pt-topbar__contact[href^="tel:"] span{display:none}
 .pt-topbar__contact[href^="mailto:"] span{display:none}
 .pt-topbar__socials{gap:6px}
 .pt-topbar__link{font-size:10px}
 .pt-header-action--gestao{display:inline-flex!important;border-radius:7px;padding:7px 9px;font-size:11px}
 .pt-header-action--gestao .pt-header-icon{width:15px;height:15px}
 .pt-mega-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .pt-catalog.is-open .pt-mega-menu{max-height:72vh;overflow:auto}
 .woocommerce ul.products li.product a img{height:170px}
}
@media(max-width:420px){
 .pt-mega-menu__grid{grid-template-columns:1fr}
 .pt-topbar__actions{gap:5px}
 .pt-topbar__link{display:none}
 .pt-topbar__contact{padding:4px}
 .pt-topbar__socials{gap:7px}
 .pt-header-action--gestao{padding:7px}
 .pt-header-action--gestao span{display:none}
}


/* Verified photography is always preferred. Market-reference products without
 * reviewed images receive an intentionally neutral, accessible brand tile. */
.pt-it-photo-pending {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 205px;
  padding: clamp(18px, 3vw, 36px);
  gap: 12px;
  text-align: center;
  color: #354552;
  background: #f5f7f9;
  border: 1px solid #e3e9ed;
  border-radius: 12px;
}
.pt-it-photo-pending__eyebrow {
  color: #75838d;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pt-it-photo-pending__icon {
  width: 58px;
  height: 58px;
  color: #9aa8b2;
  flex: none;
}
.pt-it-photo-pending strong {
  max-width: 100%;
  font-size: clamp(15px, 2vw, 20px);
  font-weight: 800;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.pt-it-photo-pending__caption {
  color: #74818b;
  font-size: 11px;
}
.pt-it-reference-price-note {
  display: block;
  margin-top: 5px;
  color: #697780;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 500;
}
.pt-product-gallery .pt-it-photo-pending { min-height: 360px; }
@media (max-width: 640px) {
  .pt-it-photo-pending { min-height: 165px; padding: 16px; gap: 9px; }
  .pt-it-photo-pending__icon { width: 44px; height: 44px; }
  .pt-product-gallery .pt-it-photo-pending { min-height: 250px; }
}


/* Mobile header regression correction: later desktop grid rules had taken
 * precedence over the earlier mobile breakpoint. Keep the search on its
 * own fluid row and the controls within the device viewport. */
@media (max-width: 780px) {
  .pt-header__main {
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    gap: 10px;
  }
  .pt-brand,
  .pt-header__actions,
  .pt-header__search {
    min-width: 0;
  }
  .pt-header__search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    max-width: 100%;
  }
  .pt-header__actions {
    width: auto;
    max-width: 100%;
    justify-self: end;
    gap: 8px;
  }
  .pt-header-action--account,
  .pt-header-action--quote {
    display: none;
  }
  .pt-search {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .pt-search input {
    min-width: 0;
  }
}


/* PT storefront clarity pass — Oct 2026.
 * Small navigation text must stay crisp and dark at practical viewing sizes.
 * Light typography = regular weight and strong contrast, not hairline text.
 */
.pt-shop-filters .pt-filter-links a,
.pt-shop-filters .pt-filter-links a span,
.pt-shop-filters .pt-filter-children a,
.pt-shop-filters .pt-filter-children a span,
.pt-mega-menu__column a,
.pt-mega-brands a {
  color: #24313b;
  font-weight: 400;
  -webkit-font-smoothing: auto;
  text-rendering: optimizeLegibility;
}
.pt-shop-filters .pt-filter-links a:hover,
.pt-shop-filters .pt-filter-links a.is-active,
.pt-shop-filters .pt-filter-children a:hover,
.pt-shop-filters .pt-filter-children a.is-active {
  color: #0d617d;
  font-weight: 500;
}
.pt-shop-filters .pt-filter-links small,
.pt-shop-filters .pt-filter-children small {
  color: #40515d;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.pt-shop-filters .pt-filter-block__head strong {
  color: #15232d;
  font-weight: 600;
}
.pt-header-action--gestao {
  flex: 0 0 auto;
  order: 10;
  color: #182a35;
  border-color: #d9e3e9;
  background: #f8fafb;
}
.pt-header-action--gestao .pt-header-icon {
  color: #187e9c;
}
@media (max-width: 780px) {
  .pt-header__actions { min-width: 0; justify-self: end; }
  .pt-header-action--gestao { order: 10; }
  .pt-shop-filters .pt-filter-links a { font-weight: 400; }
}

.pt-live-search { position: relative; min-width: 0; }
.pt-search-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  inset-inline: 0;
  z-index: 150;
  max-height: min(50dvh, 360px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #d5dce1;
  border-radius: 14px;
  background: #fff;
  color: #17222d;
  box-shadow: 0 12px 30px rgba(17,24,32,.16);
}
.pt-search-suggestions[hidden] { display: none !important; }
.pt-search-status { margin: 0; padding: 12px 16px; color: #576672; font-size: 12px; }
.pt-search-suggestions ul { list-style: none; margin: 0; padding: 0 0 6px; }
.pt-search-suggestions li { margin: 0; border-top: 1px solid #edf0f2; }
.pt-search-suggestions a { display: flex; align-items: center; min-height: 48px; padding: 12px 16px; color: #17222d; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; text-decoration: none; }
.pt-search-suggestions li[aria-selected="true"] a,
.pt-search-suggestions a:hover { background: #edf8fc; color: #006684; }
@media (max-width: 780px) {
  .pt-header { position: sticky; top: 0 !important; }
  .admin-bar .pt-header { top: 46px !important; }
  .pt-header:has(.pt-nav.is-open) .pt-nav-shell {
    max-height: calc(100dvh - 130px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 600px) {
  .admin-bar .pt-header { top: 0 !important; }
}
/* Legacy cached fragments must retain a full-width catalogue. */
@media (max-width: 780px) {
  .pt-shop-page .pt-shop-layout:not(:has(.pt-shop-filter-disclosure)) {
    grid-template-columns: minmax(0, 1fr);
  }
  .pt-shop-page .pt-shop-layout:not(:has(.pt-shop-filter-disclosure)) .pt-shop-results {
    display: block;
    min-width: 0;
  }
  .pt-shop-page .pt-shop-layout:not(:has(.pt-shop-filter-disclosure)) .pt-shop-toolbar {
    display: flex;
    flex-wrap: wrap;
  }
}
/* Responsive audit: retain every destination and keep products within reach. */
.pt-shop-filters {
  display: block;
}
.pt-shop-filter-disclosure > summary {
  display: list-item;
  padding: 14px 18px;
  cursor: pointer;
}
@media (min-width: 981px) {
  .pt-shop-filter-disclosure[open] > summary { display: none; }
}
.pt-shop-filter-content {
  display: block;
}
.pt-shop-filter-disclosure:not([open]) > .pt-shop-filter-content {
  display: none;
}
.pt-hero-v03--dynamic .pt-hero-v03__proof span {
  padding: 5px 9px 5px 24px;
  border-radius: 5px;
  color: #17222d;
  background: rgba(255, 255, 255, .96);
}
.pt-hero-v03--dynamic .pt-hero-v03__proof span::before {
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
}
.pt-form-required-note {
  margin: 0 0 20px;
  color: #40515d;
  font-size: 14px;
}
@media (min-width: 781px) and (max-width: 1080px) {
  .pt-nav__list {
    height: auto;
    flex-wrap: wrap;
    gap: 0 14px;
    padding-block: 6px;
  }
  .pt-nav__list a {
    height: auto;
    min-height: 36px;
  }
}
@media (max-width: 980px) {
  .pt-shop-filter-disclosure > summary {
    display: list-item;
    min-height: 48px;
    padding: 14px 18px;
    cursor: pointer;
    color: #15232d;
    font-weight: 600;
  }
  .pt-shop-filter-disclosure > summary:focus-visible {
    outline: 2px solid #0d617d;
    outline-offset: -3px;
  }
  .pt-shop-filter-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 780px) {
  .pt-shop-filter-content {
    grid-template-columns: minmax(0, 1fr);
  }
  .pt-nav__list a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
  }
}

/* Mobile catalogue hierarchy: compact navigation, controls, then products. */
.pt-cart-icon,
.pt-shop-hero__mobile-description,
.pt-nav .pt-nav__list .pt-nav-mobile-only {
  display: none;
}
@media (max-width: 780px) {
  .pt-topbar { display: block; }
  .pt-header .pt-header__main {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-block: 10px;
    gap: 10px;
  }
  .pt-header .pt-official-logo-link img { max-width: 110px; height: auto; }
  .pt-header .pt-header__actions { gap: 12px; }
  .pt-header .pt-header-action--gestao { display: none !important; }
  .pt-header .pt-menu-toggle {
    min-height: 44px;
    padding: 0 4px;
    gap: 6px;
    color: #17222d;
  }
  .pt-header .pt-menu-toggle b { font-size: 12px; }
  .pt-header .pt-cart-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    gap: 5px;
    padding: 0;
  }
  .pt-cart-icon { display: block; }
  .pt-header .pt-cart-link strong { width: 20px; height: 20px; font-size: 10px; }
  .pt-header .pt-search { min-height: 44px; }
  .pt-header .pt-search input { font-size: 16px; }
  .pt-header .pt-search button { min-height: 40px; }
  .pt-header .pt-nav-row { min-height: 0; }
  .pt-header .pt-catalog { display: none; }
  .pt-header:has(.pt-nav.is-open) .pt-catalog { display: block; }
  .pt-nav .pt-nav__list .pt-nav-mobile-only { display: block; }
  .pt-nav-mobile-language .pt-language-switcher { padding-block: 8px; gap: 12px; }
  .pt-nav-mobile-language .pt-language-switcher a {
    width: auto;
    padding-inline: 12px;
    font-size: 13px;
    color: #17222d;
    border-bottom: 0;
  }
  .pt-shop-page .pt-shop-hero { padding-block: 20px 16px; }
  .pt-shop-hero .pt-kicker,
  .pt-shop-hero .pt-shop-hero__description { display: none; }
  .pt-shop-hero .pt-shop-hero__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: center;
  }
  .pt-shop-hero__row > div { display: contents; }
  .pt-shop-hero h1 { grid-row: 1; grid-column: 1; font-size: 28px; }
  .pt-shop-hero .pt-shop-hero__mobile-description {
    display: block;
    grid-row: 2;
    grid-column: 1 / -1;
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
  }
  .pt-shop-hero__row > .pt-button {
    grid-row: 1;
    grid-column: 2;
    min-height: 40px;
    padding: 8px 12px;
    font-size: 12px;
  }
  .pt-shop-page .pt-shop-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding-block: 16px 48px;
  }
  .pt-shop-page .pt-shop-results,
  .pt-shop-page .pt-shop-toolbar { display: contents; }
  .pt-shop-page .pt-shop-filters {
    grid-row: 1;
    grid-column: 1;
    min-width: 0;
    border-radius: 8px;
  }
  .pt-shop-page .pt-shop-filter-disclosure > summary {
    min-height: 48px;
    padding: 13px 12px;
    font-size: 13px;
  }
  .pt-shop-page .pt-shop-toolbar__sort {
    grid-row: 1;
    grid-column: 2;
    min-width: 0;
    align-self: start;
  }
  .pt-shop-page .woocommerce-ordering { float: none; width: 100%; margin: 0; }
  .pt-shop-page .woocommerce-ordering select {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    padding: 0 8px;
    font-size: 12px;
  }
  .pt-shop-page .pt-shop-toolbar__count { grid-row: 2; grid-column: 1 / -1; }
  .pt-shop-page .pt-shop-toolbar__count p { margin: 0; font-size: 11px; }
  .pt-shop-page .pt-shop-filters:has(details[open]) { grid-column: 1 / -1; }
  .pt-shop-layout:has(.pt-shop-filter-disclosure[open]) .pt-shop-toolbar__sort { grid-row: 2; }
  .pt-shop-layout:has(.pt-shop-filter-disclosure[open]) .pt-shop-toolbar__count { grid-column: 1; align-self: center; }
  .pt-shop-page .pt-shop-results > :not(.pt-shop-toolbar) { grid-column: 1 / -1; }
  .pt-shop-page .pt-shop-results ul.products {
    grid-row: 3;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 0;
  }
  .pt-shop-page .pt-shop-results ul.products li.product { padding: 14px; }
  .pt-shop-page .pt-shop-results ul.products li.product a.woocommerce-loop-product__link {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 6px 14px;
    align-items: start;
  }
  .pt-shop-page .woocommerce-loop-product__link > * { grid-column: 2; }
  .pt-shop-page .pt-shop-results ul.products li.product .woocommerce-loop-product__link > img,
  .pt-shop-page .woocommerce-loop-product__link > .pt-remote-product-image,
  .pt-shop-page .woocommerce-loop-product__link > .pt-it-photo-pending {
    grid-column: 1;
    grid-row: 1 / span 6;
    width: 108px;
    height: 140px;
    min-height: 0;
    padding: 0;
    margin: 0;
    object-fit: contain;
  }
  .pt-shop-page .pt-shop-results ul.products li.product .woocommerce-loop-product__title {
    min-height: 0;
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.4;
  }
  .pt-shop-page .pt-loop-brand,
  .pt-shop-page .pt-loop-meta { margin: 0; }
  .pt-shop-page .pt-shop-results ul.products li.product .price {
    display: block;
    margin: 2px 0;
    font-size: 18px;
    line-height: 1.35;
  }
  .pt-shop-page .pt-shop-results ul.products li.product > .button { margin-top: 12px; }
}
@media (max-width: 359px) {
  .pt-shop-page .pt-shop-results ul.products li.product a.woocommerce-loop-product__link { grid-template-columns: 84px minmax(0, 1fr); gap: 6px 12px; }
  .pt-shop-page .pt-shop-results ul.products li.product .woocommerce-loop-product__link > img,
  .pt-shop-page .woocommerce-loop-product__link > .pt-remote-product-image,
  .pt-shop-page .woocommerce-loop-product__link > .pt-it-photo-pending { width: 84px; height: 120px; }
}
@media (min-width: 600px) and (max-width: 780px) {
  .pt-shop-page .pt-shop-results ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Keep contact and language access together on every small screen. */
@media (max-width: 1080px) {
  .pt-topbar { display: block; }
  .pt-topbar__points,
  .pt-topbar__link,
  .pt-topbar__contact > span { display: none; }
  .pt-topbar__inner { min-height: 36px; }
  .pt-topbar__actions {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
  }
  .pt-topbar .pt-topbar__contact,
  .pt-topbar .pt-topbar__socials a {
    min-width: 32px;
    min-height: 36px;
    padding: 0;
    justify-content: center;
    color: #edf4f6;
  }
  .pt-topbar__socials { gap: 0; }
  .pt-topbar .pt-language-switcher { margin-left: auto; gap: 4px; }
  .pt-topbar .pt-language-switcher a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 36px;
    color: #edf4f6;
    font-size: 11px;
  }
}
@media (max-width: 780px) {
  .pt-hero-v03 .pt-hero-v03__grid {
    min-height: 0;
    padding-block: 24px;
    gap: 22px;
  }
  .pt-hero-v03__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .pt-hero-v03__content > .pt-hero-v03__slide {
    grid-column: 1;
    grid-row: 1;
  }
  /* Reserve the largest slide's natural height without exposing inactive text. */
  .pt-hero-v03__content > .pt-hero-v03__slide[hidden] {
    display: block !important;
    visibility: hidden;
    pointer-events: none;
  }
  .pt-hero-v03__content h1 {
    margin-top: 12px;
    font-size: clamp(30px, 8.8vw, 38px);
    line-height: 1.1;
    letter-spacing: -.035em;
  }
  .pt-hero-v03__slide > p {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.6;
  }
  .pt-hero-v03__actions { margin-top: 20px; }
  .pt-hero-v03__actions .pt-button { min-height: 44px; }
  .pt-hero-v03__content > .pt-hero-v03__proof {
    grid-column: 1;
    grid-row: 2;
    margin-top: 18px;
    gap: 8px;
  }
  .pt-hero-catalog { border-radius: 18px; }
  .pt-hero-catalog__head { padding: 18px 16px; gap: 12px; }
  .pt-hero-catalog__head strong { font-size: 16px; }
  .pt-hero-catalog__items > a {
    min-height: 64px;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px 16px;
  }
}

