:root {
  --pst-ink: #1b2e35;
  --pst-muted: #617178;
  --pst-bg: #f5f7f3;
  --pst-soft: #ebeee6;
  --pst-teal: #2f7d74;
  --pst-teal-dark: #1f5d56;
  --pst-coral: #f2785c;
  --pst-coral-dark: #d9603f;
  --pst-orange: #ff7a1a;
  --pst-sun: #f4b940;
  --pst-line: rgba(27, 46, 53, 0.12);
  --pst-shadow: 0 12px 34px rgba(27, 46, 53, 0.09);
  --pst-radius: 14px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html.pst-filter-lock {
  overflow: hidden;
}

body.pst-site-package {
  color: var(--pst-ink);
  background: #fff;
  overflow-x: hidden;
}

.pst-shell {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
}

.pst-header {
  position: relative;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--pst-line);
}

.pst-announcement {
  min-height: 34px;
  display: flex;
  align-items: center;
  background: var(--pst-ink);
  color: #fff;
  font-size: 12px;
}

.pst-announcement .pst-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.pst-announcement a {
  color: #fff;
  text-decoration: none;
}

.pst-header-main {
  min-height: 82px;
  display: grid;
  grid-template-columns: 210px minmax(300px, 1fr) auto;
  align-items: center;
  gap: 26px;
}

.pst-logo {
  display: flex;
  align-items: center;
  height: 64px;
}

.pst-logo img {
  width: 208px;
  height: 54px;
  object-fit: contain;
  object-position: left center;
}

.pst-search {
  height: 46px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 24px;
  background: #f3f5f4;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pst-search:focus-within {
  border-color: var(--pst-teal);
  box-shadow: 0 0 0 4px rgba(47, 125, 116, 0.13);
}

.pst-search input {
  min-width: 0;
  flex: 1;
  padding: 0 18px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--pst-ink);
}

.pst-search button {
  width: 72px;
  border: 0;
  background: var(--pst-orange);
  color: #111;
  font-weight: 800;
  cursor: pointer;
}

.pst-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.pst-actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 22px;
  color: var(--pst-ink);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.pst-cart-link {
  background: var(--pst-soft);
}

.pst-cart-link span {
  min-width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--pst-coral);
  color: #fff;
  font-size: 11px;
}

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

.pst-primary-nav {
  border-top: 1px solid rgba(27, 46, 53, 0.08);
}

.pst-primary-nav .pst-shell {
  min-height: 51px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.pst-primary-nav a {
  padding: 16px 4px 14px;
  border-bottom: 2px solid transparent;
  color: var(--pst-ink);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.pst-primary-nav a:hover,
.pst-primary-nav a:focus-visible {
  border-bottom-color: var(--pst-coral);
  color: var(--pst-coral-dark);
}

.pst-category-mega {
  position: absolute;
  top: 167px;
  left: 50%;
  width: min(1120px, calc(100vw - 36px));
  min-height: 292px;
  display: none;
  grid-template-columns: 220px minmax(0, 1fr);
  overflow: hidden;
  transform: translateX(-50%);
  border: 1px solid var(--pst-line);
  border-radius: 0 0 16px 16px;
  background: #fff;
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.19);
  z-index: 1100;
}

.pst-category-mega.is-open {
  display: grid;
}

@media (min-width: 761px) {
  .pst-header:has(.pst-primary-nav a[data-pst-panel]:hover) .pst-category-mega,
  .pst-category-mega:hover,
  .pst-category-mega:focus-within {
    display: grid;
  }

  .pst-header:has(.pst-primary-nav a[data-pst-panel="cat"]:hover) .pst-mega-panel,
  .pst-header:has(.pst-primary-nav a[data-pst-panel="dog"]:hover) .pst-mega-panel,
  .pst-header:has(.pst-primary-nav a[data-pst-panel="bird"]:hover) .pst-mega-panel,
  .pst-header:has(.pst-primary-nav a[data-pst-panel="aqua"]:hover) .pst-mega-panel,
  .pst-header:has(.pst-primary-nav a[data-pst-panel="rodent"]:hover) .pst-mega-panel,
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel]:hover) .pst-mega-panel {
    display: none;
  }

  .pst-header:has(.pst-primary-nav a[data-pst-panel="cat"]:hover) .pst-mega-panel[data-pst-panel="cat"],
  .pst-header:has(.pst-primary-nav a[data-pst-panel="dog"]:hover) .pst-mega-panel[data-pst-panel="dog"],
  .pst-header:has(.pst-primary-nav a[data-pst-panel="bird"]:hover) .pst-mega-panel[data-pst-panel="bird"],
  .pst-header:has(.pst-primary-nav a[data-pst-panel="aqua"]:hover) .pst-mega-panel[data-pst-panel="aqua"],
  .pst-header:has(.pst-primary-nav a[data-pst-panel="rodent"]:hover) .pst-mega-panel[data-pst-panel="rodent"],
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel="cat"]:hover) .pst-mega-panel[data-pst-panel="cat"],
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel="dog"]:hover) .pst-mega-panel[data-pst-panel="dog"],
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel="bird"]:hover) .pst-mega-panel[data-pst-panel="bird"],
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel="aqua"]:hover) .pst-mega-panel[data-pst-panel="aqua"],
  .pst-category-mega:has(.pst-mega-tabs button[data-pst-panel="rodent"]:hover) .pst-mega-panel[data-pst-panel="rodent"] {
    display: block !important;
  }
}

.pst-category-mega .pst-mega-tabs {
  padding: 14px 12px;
  border-right: 1px solid var(--pst-line);
  background: #f7f9f8;
}

.pst-category-mega .pst-mega-tabs button {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--pst-ink);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.pst-category-mega .pst-mega-tabs button.is-active {
  background: #fff;
  color: var(--pst-coral-dark);
  box-shadow: 0 7px 20px rgba(15, 23, 42, 0.08);
}

.pst-category-mega .pst-mega-content {
  padding: 25px 28px;
}

.pst-category-mega .pst-mega-panel h2 {
  margin: 0 0 18px;
  color: var(--pst-ink);
  font-size: 21px;
}

.pst-category-mega .pst-mega-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pst-category-mega .pst-mega-links a {
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--pst-line);
  border-radius: 10px;
  background: #fff;
  color: var(--pst-ink);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.pst-category-mega .pst-mega-links a:hover,
.pst-category-mega .pst-mega-links a:focus-visible {
  border-color: rgba(239, 103, 43, 0.5);
  background: #fff8f3;
  color: var(--pst-coral-dark);
}

.pst-quick-nav {
  background: var(--pst-bg);
  border-top: 1px solid rgba(27, 46, 53, 0.07);
}

.pst-quick-nav .pst-shell {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 26px;
}

.pst-quick-nav a {
  color: var(--pst-teal-dark);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.pst-home-main {
  width: 100%;
}

.pst-home .site-content,
.pst-home .ast-container,
.pst-home #primary,
.pst-home .site-main,
.pst-home article.page,
.pst-home .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.pst-home .entry-header {
  display: none;
}

.pst-home-hero {
  padding: 48px 0;
  background:
    linear-gradient(110deg, rgba(255, 244, 237, 0.96), rgba(255, 255, 255, 0.92) 54%, rgba(234, 247, 255, 0.94)),
    radial-gradient(circle at 80% 30%, rgba(47, 125, 116, 0.13), transparent 42%);
}

.pst-hero-grid {
  min-height: 360px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  gap: 54px;
}

.pst-eyebrow,
.pst-section-title span,
.pst-page-hero > span {
  display: block;
  margin-bottom: 8px;
  color: var(--pst-coral-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pst-home-hero h1 {
  max-width: 720px;
  margin: 0 0 18px;
  color: var(--pst-ink);
  font-size: clamp(38px, 5vw, 66px);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: 0;
}

.pst-home-hero p {
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--pst-muted);
  font-size: 17px;
  line-height: 1.65;
}

.pst-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pst-button,
.pst-add-to-cart {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  border: 0;
  border-radius: 10px;
  background: var(--pst-coral);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.pst-button:hover,
.pst-add-to-cart:hover {
  background: var(--pst-coral-dark);
  color: #fff;
  transform: translateY(-2px);
}

.pst-button.is-outline {
  border: 1px solid var(--pst-teal);
  background: #fff;
  color: var(--pst-teal-dark);
}

.pst-hero-panel {
  display: grid;
  gap: 14px;
}

.pst-hero-panel div {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 24px;
  border: 1px solid rgba(27, 46, 53, 0.09);
  border-radius: var(--pst-radius);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--pst-shadow);
}

.pst-hero-panel div:nth-child(2) {
  transform: translateX(-22px);
  background: var(--pst-teal);
  color: #fff;
}

.pst-hero-panel strong {
  font-size: 21px;
}

.pst-hero-panel span {
  margin-top: 4px;
  color: inherit;
  opacity: 0.78;
}

.pst-section {
  padding: 42px 0;
}

.pst-products-section,
.pst-blog-section {
  background: var(--pst-bg);
}

.pst-section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.pst-section-title h2 {
  margin: 0;
  color: var(--pst-ink);
  font-size: 29px;
  font-weight: 900;
  letter-spacing: 0;
}

.pst-section-title a {
  color: var(--pst-coral-dark);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.pst-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.pst-category-card {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 18px 12px;
  border-radius: var(--pst-radius);
  background: var(--card-bg, var(--pst-bg));
  color: var(--pst-ink);
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pst-category-card:hover {
  color: var(--pst-ink);
  transform: translateY(-5px);
  box-shadow: var(--pst-shadow);
}

.pst-category-card img,
.pst-category-initial {
  width: 112px;
  height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 6px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 10px 25px rgba(27, 46, 53, 0.11);
}

.pst-category-initial {
  color: var(--pst-teal);
  font-size: 40px;
  font-weight: 900;
}

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

.pst-product-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.pst-product-card:hover {
  border-color: rgba(242, 120, 92, 0.48);
  box-shadow: 0 17px 38px rgba(27, 46, 53, 0.12);
  transform: translateY(-5px);
}

.pst-product-image {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 10px 0;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}

.pst-product-image img {
  width: 88%;
  height: 88%;
  margin: 0;
  object-fit: contain;
}

.pst-product-body {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  padding: 14px;
}

.pst-product-meta {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.pst-stock-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #e7f7ec;
  color: #14743c;
  font-size: 11px;
  font-weight: 900;
}

.pst-stock-badge.is-sale {
  background: #fdebe6;
  color: var(--pst-coral-dark);
}

.pst-brand-name {
  max-width: 45%;
  overflow: hidden;
  color: var(--pst-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pst-product-card h3 {
  min-height: 62px;
  display: -webkit-box;
  margin: 12px 0;
  overflow: hidden;
  color: var(--pst-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.36;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.pst-product-card h3 a {
  color: inherit;
  text-decoration: none;
}

.pst-product-price {
  margin-top: auto;
  margin-bottom: 12px;
  color: var(--pst-ink);
  font-size: 20px;
  font-weight: 900;
}

.pst-product-price del {
  margin-right: 6px;
  color: #8d989b;
  font-size: 13px;
}

.pst-product-price ins {
  color: var(--pst-coral-dark);
  text-decoration: none;
}

.pst-add-to-cart {
  width: 100%;
  background: var(--pst-orange);
  color: #111;
}

.pst-add-to-cart:hover {
  background: #e96505;
  color: #111;
}

.pst-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pst-benefits a {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-benefits a:nth-child(2) {
  background: #eef8ff;
}

.pst-benefits a:nth-child(3) {
  background: #eefaf2;
}

.pst-benefits strong {
  margin-bottom: 5px;
  font-size: 18px;
}

.pst-benefits span {
  color: var(--pst-muted);
  font-size: 14px;
}

.pst-brand-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
}

.pst-brand-grid a {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border: 1px solid var(--pst-line);
  border-radius: 12px;
  background: #fff;
  color: var(--pst-ink);
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.pst-brand-grid small {
  display: block;
  margin-top: 4px;
  color: var(--pst-muted);
  font-size: 10px;
  font-weight: 500;
}

.pst-brand-card {
  min-height: 118px !important;
  gap: 7px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.pst-brand-card:hover {
  border-color: rgba(47, 125, 116, 0.42);
  box-shadow: 0 12px 28px rgba(23, 49, 58, 0.1);
  transform: translateY(-4px);
}

.pst-brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #edf7f4;
  color: var(--pst-teal);
  font-family: "IBM Plex Mono", monospace;
  font-size: 15px;
  font-weight: 800;
}

.pst-brand-card strong {
  line-height: 1.15;
}

.pst-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.pst-blog-grid article {
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 49, 58, 0.06);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.pst-blog-grid article:hover {
  border-color: rgba(47, 125, 116, 0.34);
  box-shadow: 0 16px 34px rgba(23, 49, 58, 0.12);
  transform: translateY(-5px);
}

.pst-blog-grid article > a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.pst-blog-grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #f2f7f5;
}

.pst-blog-grid article div {
  padding: 18px;
}

.pst-blog-grid time {
  color: var(--pst-muted);
  font-size: 11px;
}

.pst-blog-grid h3 {
  margin: 7px 0;
  color: var(--pst-ink);
  font-size: 19px;
  line-height: 1.25;
}

.pst-blog-grid p {
  margin: 0;
  color: var(--pst-muted);
  font-size: 14px;
  line-height: 1.55;
}

.pst-blog-language-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 28px;
}

.pst-blog-language-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid var(--pst-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pst-ink);
  font-weight: 700;
  text-decoration: none;
}

.pst-blog-language-nav a:hover {
  border-color: var(--pst-teal);
  color: var(--pst-teal-dark);
}

.pst-blog-language-section + .pst-blog-language-section {
  margin-top: 54px;
}

.pst-section-title.is-subsection {
  margin-bottom: 20px;
}

.pst-blog-empty {
  grid-column: 1 / -1;
}

body.single-post .site-content {
  background: #f6f9f7;
}

body.single-post .content-area {
  width: min(920px, 100%);
  margin-inline: auto;
}

body.single-post article.post {
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(23, 49, 58, 0.08);
}

body.single-post article.post .entry-header,
body.single-post article.post .entry-content {
  width: min(100% - 64px, 820px);
  margin-inline: auto;
}

body.single-post article.post .entry-header {
  padding-top: 42px;
}

body.single-post article.post .entry-title {
  color: var(--pst-ink);
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.08;
}

.pst-single-blog-cover {
  width: calc(100% + 64px);
  margin: 8px 0 24px -32px;
  overflow: hidden;
  border-radius: 14px;
  background: #eef5f2;
}

.pst-single-blog-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.pst-single-blog-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: 26px;
  color: var(--pst-muted);
  font-size: 13px;
}

.pst-single-blog-meta span {
  position: relative;
  padding-left: 18px;
}

.pst-single-blog-meta span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pst-coral);
  transform: translateY(-50%);
}

.pst-single-blog-content {
  color: #31434a;
  font-size: 17px;
  line-height: 1.82;
}

.pst-single-blog-content h2,
.pst-single-blog-content h3 {
  margin: 34px 0 14px;
  color: var(--pst-ink);
  line-height: 1.25;
}

.pst-single-blog-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.pst-related-blog {
  margin: 48px 0 12px;
  padding-top: 36px;
  border-top: 1px solid var(--pst-line);
}

.pst-related-blog-title {
  margin-bottom: 20px;
}

.pst-related-blog-title span {
  color: var(--pst-teal);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pst-related-blog-title h2 {
  margin: 4px 0 0;
  color: var(--pst-ink);
  font-size: 28px;
}

body.blog .site-main,
body.category .site-main,
body.tag .site-main,
body.author .site-main {
  display: block;
}

body.blog .site-main > .ast-row,
body.category .site-main > .ast-row,
body.tag .site-main > .ast-row,
body.author .site-main > .ast-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0 !important;
}

body.blog .site-main > .ast-row > article.post,
body.category .site-main > .ast-row > article.post,
body.tag .site-main > .ast-row > article.post,
body.author .site-main > .ast-row > article.post {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(23, 49, 58, 0.06);
}

body.blog .site-main > .ast-row > article.post .entry-header,
body.blog .site-main > .ast-row > article.post .entry-content,
body.category .site-main > .ast-row > article.post .entry-header,
body.category .site-main > .ast-row > article.post .entry-content,
body.tag .site-main > .ast-row > article.post .entry-header,
body.tag .site-main > .ast-row > article.post .entry-content,
body.author .site-main > .ast-row > article.post .entry-header,
body.author .site-main > .ast-row > article.post .entry-content {
  width: auto;
  padding-inline: 18px;
}

body.blog .site-main > .ast-row > article.post .entry-title,
body.category .site-main > .ast-row > article.post .entry-title,
body.tag .site-main > .ast-row > article.post .entry-title,
body.author .site-main > .ast-row > article.post .entry-title {
  font-size: 21px;
  line-height: 1.25;
}

body.blog .site-main > .navigation,
body.category .site-main > .navigation,
body.tag .site-main > .navigation,
body.author .site-main > .navigation {
  grid-column: 1 / -1;
}

.pst-archive-blog-cover {
  display: block;
  margin: -1px -1px 16px;
  overflow: hidden;
  background: #eef5f2;
}

.pst-archive-blog-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.pst-page-wrap {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 46px 0;
}

.pst-page-hero {
  margin-bottom: 28px;
  padding: 34px;
  border-radius: 20px;
  background: linear-gradient(120deg, #fff3e9, #f1faf8);
}

.pst-page-hero h1 {
  margin: 0 0 12px;
  color: var(--pst-ink);
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: 0;
}

.pst-page-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--pst-muted);
  font-size: 16px;
  line-height: 1.65;
}

.pst-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pst-service-grid article,
.pst-content-panel,
.pst-calculator,
.pst-contact-grid a,
.pst-faq details {
  padding: 24px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 7px 22px rgba(27, 46, 53, 0.05);
}

.pst-service-grid h2,
.pst-content-panel h2 {
  margin: 0 0 10px;
  color: var(--pst-ink);
  font-size: 21px;
}

.pst-service-grid p,
.pst-content-panel p {
  min-height: 66px;
  color: var(--pst-muted);
  line-height: 1.55;
}

.pst-calculator {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 16px;
}

.pst-calculator label {
  color: var(--pst-ink);
  font-weight: 800;
}

.pst-calculator input,
.pst-calculator select {
  width: 100%;
  height: 46px;
  margin-top: 7px;
  padding: 0 12px;
  border: 1px solid var(--pst-line);
  border-radius: 9px;
  background: var(--pst-bg);
}

.pst-calculator output {
  grid-column: 1 / -1;
  min-height: 60px;
  display: none;
  padding: 16px;
  border-radius: 10px;
  background: #eefaf2;
  color: var(--pst-teal-dark);
  font-size: 18px;
  font-weight: 900;
}

.pst-calculator output.is-visible {
  display: block;
}

.pst-disclaimer {
  margin: 15px 0 0;
  color: var(--pst-muted);
  font-size: 13px;
}

.pst-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.pst-contact-grid a {
  display: flex;
  flex-direction: column;
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-contact-grid span {
  margin-top: 6px;
  color: var(--pst-muted);
}

.pst-adoption-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.pst-adoption-grid article {
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
}

.pst-adoption-grid article a {
  color: inherit;
  text-decoration: none;
}

.pst-adoption-grid img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}

.pst-adoption-grid h2,
.pst-adoption-grid p {
  margin: 14px 18px;
}

.pst-empty-state {
  grid-column: 1 / -1;
  padding: 34px;
  border-radius: var(--pst-radius);
  background: var(--pst-bg);
  text-align: center;
}

.pst-faq {
  display: grid;
  gap: 12px;
}

.pst-faq summary {
  cursor: pointer;
  color: var(--pst-ink);
  font-weight: 900;
}

.pst-faq p {
  margin-bottom: 0;
  color: var(--pst-muted);
}

.pst-shop-benefit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 24px;
  margin: 0 0 24px;
  padding: 14px 18px;
  border: 1px solid rgba(47, 125, 116, 0.22);
  border-radius: 12px;
  background: #f1faf8;
  color: var(--pst-teal-dark);
  font-size: 13px;
}

.pst-pickup-notice {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(244, 185, 64, 0.45);
  border-radius: 12px;
  background: #fff8e8;
  color: #71530e;
  font-size: 13px;
}

.pst-pickup-label {
  display: block;
  margin-top: 3px;
  color: var(--pst-teal-dark);
  font-weight: 800;
}

body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.search-results ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.tax-product_cat ul.products::before,
body.tax-product_cat ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after,
body.search-results ul.products::before,
body.search-results ul.products::after {
  display: none !important;
}

body.woocommerce ul.products li.product {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

body.woocommerce ul.products li.product img {
  width: 100% !important;
  height: 260px !important;
  margin: 0 0 12px !important;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 58px;
  display: -webkit-box;
  overflow: hidden;
  color: var(--pst-ink);
  font-size: 15px !important;
  font-weight: 800;
  line-height: 1.32;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

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

body.woocommerce ul.products li.product .button {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--pst-orange);
  color: #111;
  font-weight: 900;
}

body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
  display: none !important;
}

.pst-footer-extras {
  padding: 38px 0;
  border-top: 1px solid var(--pst-line);
  background: var(--pst-bg);
}

.pst-footer-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-footer-services a {
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px;
  border-right: 1px solid var(--pst-line);
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-footer-services a:last-child {
  border-right: 0;
}

.pst-footer-services span {
  margin-top: 4px;
  color: var(--pst-muted);
  font-size: 12px;
}

.pst-business-identity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 14px 24px;
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-business-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pst-business-copy strong {
  color: var(--pst-ink);
  font-size: 16px;
}

.pst-business-copy span {
  color: var(--pst-muted);
  font-size: 13px;
  line-height: 1.55;
}

.pst-business-identity > a {
  color: var(--pst-teal);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.pst-business-identity > a:hover {
  color: var(--pst-coral-dark);
}

.pst-footer-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px;
  margin-top: 34px;
}

.pst-footer-links h2 {
  margin: 0 0 13px;
  color: var(--pst-ink);
  font-size: 16px;
}

.pst-footer-links a,
.pst-footer-links p {
  display: block;
  margin: 0 0 9px;
  color: var(--pst-muted);
  font-size: 13px;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .pst-header-main {
    grid-template-columns: 170px minmax(230px, 1fr) auto;
    gap: 14px;
  }

  .pst-logo img {
    width: 160px;
  }

  .pst-primary-nav .pst-shell {
    overflow-x: auto;
    justify-content: flex-start;
    gap: 24px;
  }

  .pst-primary-nav a {
    white-space: nowrap;
  }

  .pst-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pst-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

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

  body.single-product .related.products ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .pst-shell,
  .pst-page-wrap {
    width: min(100% - 24px, 1180px);
  }

  .pst-announcement .pst-shell {
    justify-content: center;
  }

  .pst-announcement a:nth-of-type(1),
  .pst-announcement a:nth-of-type(2) {
    display: none;
  }

  .pst-header-main {
    min-height: 72px;
    grid-template-columns: 130px 1fr auto;
    gap: 10px;
  }

  .pst-logo,
  .pst-logo img {
    width: 126px;
    height: 52px;
  }

  .pst-search {
    grid-column: 1 / -1;
    grid-row: 2;
    margin-bottom: 12px;
  }

  .pst-actions a {
    display: none;
  }

  .pst-actions .pst-cart-link {
    display: inline-flex;
    width: 64px;
    overflow: hidden;
    position: relative;
    justify-content: flex-start;
    padding: 0 8px;
    background: var(--pst-teal);
    color: transparent;
  }

  .pst-actions .pst-cart-link::before {
    content: "Sepet";
    color: #fff;
    font-size: 11px;
    font-weight: 800;
  }

  .pst-cart-link span {
    position: absolute;
    top: 5px;
    right: 5px;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    background: var(--pst-coral);
    color: #fff;
    font-size: 10px;
  }

  .pst-menu-toggle {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid var(--pst-line);
    border-radius: 9px;
    background: #fff;
    color: var(--pst-ink);
    font-weight: 800;
  }

  .pst-primary-nav {
    display: none;
  }

  .pst-primary-nav.is-open {
    display: block;
  }

  .pst-primary-nav .pst-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    padding: 8px 0;
    overflow: visible;
  }

  .pst-primary-nav a {
    padding: 12px 4px;
  }

  .pst-category-mega {
    display: none !important;
  }

  .pst-quick-nav .pst-shell {
    justify-content: flex-start;
    gap: 18px;
    overflow-x: auto;
  }

  .pst-quick-nav a {
    white-space: nowrap;
  }

  .pst-home-hero {
    padding: 32px 0;
  }

  .pst-hero-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .pst-home-hero h1 {
    font-size: 39px;
  }

  .pst-home-hero p {
    font-size: 15px;
  }

  .pst-hero-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .pst-hero-panel div,
  .pst-hero-panel div:nth-child(2) {
    min-height: 92px;
    padding: 12px;
    transform: none;
  }

  .pst-hero-panel strong {
    font-size: 15px;
  }

  .pst-hero-panel span {
    font-size: 11px;
  }

  .pst-section {
    padding: 32px 0;
  }

  .pst-section-title {
    align-items: center;
  }

  .pst-section-title h2 {
    font-size: 23px;
  }

  .pst-category-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x proximity;
  }

  .pst-category-card {
    min-width: 148px;
    min-height: 168px;
    scroll-snap-align: start;
  }

  .pst-category-card img,
  .pst-category-initial {
    width: 94px;
    height: 94px;
  }

  .pst-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pst-product-image {
    height: 170px;
  }

  .pst-product-body {
    min-height: 222px;
    padding: 11px;
  }

  .pst-product-card h3 {
    min-height: 58px;
    font-size: 13px;
  }

  .pst-product-price {
    font-size: 16px;
  }

  .pst-brand-name {
    display: none;
  }

  .pst-benefits,
  .pst-blog-grid,
  .pst-contact-grid {
    grid-template-columns: 1fr;
  }

  .pst-brand-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .pst-brand-grid a {
    min-width: 135px;
  }

  .pst-page-hero {
    padding: 24px 20px;
  }

  .pst-service-grid,
  .pst-adoption-grid,
  .pst-calculator {
    grid-template-columns: 1fr;
  }

  .pst-service-grid p {
    min-height: 0;
  }

  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.search-results ul.products,
  body.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.woocommerce ul.products li.product {
    padding: 10px !important;
  }

  body.woocommerce ul.products li.product img {
    height: 165px !important;
  }

  .pst-footer-services,
  .pst-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pst-business-identity {
    grid-template-columns: 1fr auto auto;
  }

  .pst-business-copy {
    grid-column: 1 / -1;
  }

  .pst-footer-services a:nth-child(2) {
    border-right: 0;
  }

  .pst-footer-services a:nth-child(-n + 2) {
    border-bottom: 1px solid var(--pst-line);
  }
}

@media (max-width: 380px) {
  .pst-product-image {
    height: 150px;
  }

  .pst-product-card h3 {
    font-size: 12px;
  }
}

/* 2.3.0 design system: adapted from the supplied Petshop Tedarik templates. */
body.pst-site-package {
  background: var(--pst-bg);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.pst-site-package h1,
body.pst-site-package h2,
body.pst-site-package h3,
body.pst-site-package .pst-logo,
.pst-home-hero h1,
.pst-section-title h2,
.pst-page-hero h1,
.pst-product-price {
  font-family: "Baloo 2", "Inter", sans-serif;
}

.pst-shell {
  width: min(1200px, calc(100% - 48px));
}

.pst-announcement {
  min-height: 32px;
  background: var(--pst-teal-dark);
}

.pst-header {
  position: sticky;
  top: 0;
  background: var(--pst-bg);
}

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

.pst-header-main {
  min-height: 76px;
  grid-template-columns: 205px minmax(320px, 1fr) auto;
  padding-block: 8px;
}

.pst-logo,
.pst-logo img {
  height: 58px;
}

.pst-search {
  max-width: 500px;
  justify-self: center;
  border-color: var(--pst-line);
  background: #fff;
}

.pst-search button {
  background: var(--pst-coral);
  color: #fff;
}

.pst-search button:hover {
  background: var(--pst-coral-dark);
}

.pst-primary-nav,
.pst-quick-nav {
  background: var(--pst-bg);
}

.pst-primary-nav .pst-shell {
  min-height: 48px;
}

.pst-primary-nav a {
  padding-block: 13px 11px;
  font-weight: 700;
}

.pst-quick-nav {
  display: none;
}

.pst-category-mega {
  top: 156px;
  border-radius: 0 0 18px 18px;
}

.pst-home-hero {
  display: block !important;
  padding: 54px 0 64px;
  background: var(--pst-bg);
}

.pst-hero-grid {
  min-height: 390px;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.9fr);
  gap: 48px;
}

.pst-eyebrow {
  width: fit-content;
  margin-bottom: 18px;
  padding: 7px 14px;
  border: 1px solid var(--pst-line);
  border-radius: 999px;
  background: #fff;
  color: var(--pst-teal-dark);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.pst-home-hero h1 {
  max-width: 650px;
  margin-bottom: 18px;
  font-size: clamp(40px, 5.1vw, 62px);
  line-height: 1.02;
}

.pst-home-hero h1 em {
  color: var(--pst-coral);
  font-style: normal;
}

.pst-home-hero p {
  max-width: 590px;
  font-size: 16px;
}

.pst-button,
.pst-add-to-cart {
  min-height: 46px;
  border-radius: 999px;
  background: var(--pst-coral);
}

.pst-button.is-outline {
  border-color: var(--pst-ink);
  color: var(--pst-ink);
}

.pst-hero-visual {
  min-height: 350px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--pst-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 50px rgba(27, 46, 53, 0.08);
}

.pst-hero-visual a {
  position: relative;
  min-height: 150px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--pst-soft);
  color: var(--pst-ink);
}

.pst-hero-visual img,
.pst-hero-visual a > span {
  width: 100%;
  height: 100%;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: contain;
  padding: 12px;
  color: var(--pst-teal);
  font-family: "Baloo 2", sans-serif;
  font-size: 56px;
  font-weight: 800;
}

.pst-hero-visual strong {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  font-size: 12px;
}

.pst-trust-strip {
  padding: 24px 0;
  border-block: 1px solid var(--pst-line);
  background: #fff;
}

.pst-trust-strip .pst-shell {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.pst-trust-strip div div {
  padding-left: 16px;
  border-left: 3px solid var(--pst-teal);
}

.pst-trust-strip b,
.pst-trust-strip span {
  display: block;
}

.pst-trust-strip b {
  font-size: 13px;
}

.pst-trust-strip span {
  color: var(--pst-muted);
  font-size: 12px;
}

.pst-section {
  padding: 58px 0;
}

.pst-products-section,
.pst-blog-section {
  background: #fff;
}

.pst-section-title {
  margin-bottom: 28px;
}

.pst-section-title > div > span {
  font-family: "IBM Plex Mono", monospace;
  color: var(--pst-teal);
}

.pst-section-title h2 {
  font-size: 30px;
}

.pst-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pst-category-card {
  min-height: 150px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  justify-content: stretch;
  column-gap: 16px;
  padding: 22px;
  border: 1px solid var(--pst-line);
  background: var(--card-bg, #fff);
  text-align: left;
}

.pst-category-card img,
.pst-category-initial {
  width: 82px;
  height: 82px;
  grid-row: 1 / 3;
  border-width: 4px;
}

.pst-category-card strong {
  align-self: end;
  font-family: "Baloo 2", sans-serif;
  font-size: 18px;
}

.pst-category-card > span:not(.pst-category-initial) {
  align-self: start;
  color: var(--pst-muted);
  font-size: 12px;
}

.pst-products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pst-product-card {
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.05);
}

.pst-product-image {
  height: 230px;
  background: var(--pst-soft);
}

.pst-product-image img {
  width: 90%;
  height: 90%;
  mix-blend-mode: multiply;
}

.pst-product-body {
  min-height: 225px;
  padding: 15px 16px 18px;
}

.pst-product-card h3 {
  font-family: "Inter", sans-serif;
  font-size: 14px;
}

.pst-add-to-cart {
  border-radius: 999px;
  background: var(--pst-coral);
  color: #fff;
}

.pst-add-to-cart:hover {
  background: var(--pst-coral-dark);
  color: #fff;
}

.pst-benefits a {
  position: relative;
  min-height: 145px;
  padding: 26px;
}

.pst-benefit-label {
  width: fit-content;
  margin-bottom: 16px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--pst-soft);
  color: var(--pst-teal-dark) !important;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px !important;
  font-weight: 700;
  text-transform: uppercase;
}

.pst-page-wrap {
  width: min(1200px, calc(100% - 48px));
  padding: 48px 0 64px;
}

.pst-page-hero,
.pst-catalog-banner {
  border: 1px solid var(--pst-line);
  background: linear-gradient(120deg, var(--pst-teal), var(--pst-teal-dark));
  color: #fff;
}

.pst-page-hero > span,
.pst-catalog-banner > div > span {
  color: var(--pst-sun);
}

.pst-page-hero h1,
.pst-page-hero p {
  color: #fff;
}

.pst-catalog-banner {
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 28px;
  padding: 30px 32px;
  border-radius: 20px;
}

.pst-catalog-banner span {
  display: block;
  margin-bottom: 4px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.pst-catalog-banner h1 {
  margin: 0 0 5px;
  color: #fff;
  font-family: "Baloo 2", sans-serif;
  font-size: 30px;
}

.pst-catalog-banner p {
  max-width: 700px;
  margin: 0;
  color: #d7e9e6;
  font-size: 13px;
}

.pst-catalog-banner > b {
  flex: 0 0 auto;
  padding: 8px 15px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
}

.pst-catalog-layout {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

.pst-catalog-results {
  min-width: 0;
}

.pst-catalog-filters {
  position: sticky;
  top: 178px;
  padding: 22px;
  border: 1px solid var(--pst-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.05);
}

.admin-bar .pst-catalog-filters {
  top: 210px;
}

.pst-filter-heading {
  display: flex;
  justify-content: space-between;
  margin-bottom: 22px;
}

.pst-filter-heading span,
.pst-filter-heading strong {
  display: block;
}

.pst-filter-heading span {
  color: var(--pst-teal);
  font-family: "IBM Plex Mono", monospace;
  font-size: 10px;
  text-transform: uppercase;
}

.pst-filter-heading strong {
  margin-top: 3px;
  font-family: "Baloo 2", sans-serif;
  font-size: 18px;
}

.pst-filter-close,
.pst-filter-toggle {
  display: none;
}

.pst-filter-group,
.pst-price-filter {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--pst-line);
}

.pst-filter-group h2,
.pst-price-filter h2 {
  margin: 0 0 11px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
}

.pst-filter-group a {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  color: var(--pst-ink);
  font-size: 13px;
  text-decoration: none;
}

.pst-filter-group a:hover {
  color: var(--pst-coral-dark);
}

.pst-filter-group a span {
  color: var(--pst-muted);
  font-size: 11px;
}

.pst-price-filter > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.pst-price-filter label span {
  display: block;
  margin-bottom: 4px;
  color: var(--pst-muted);
  font-size: 10px;
}

.pst-price-filter input {
  width: 100%;
  height: 38px;
  padding: 0 9px;
  border: 1px solid var(--pst-line);
  border-radius: 8px;
  background: var(--pst-bg);
}

.pst-price-filter button,
.pst-filter-reset {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  border: 0;
  border-radius: 999px;
  background: var(--pst-teal);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.pst-filter-reset {
  border: 1px solid var(--pst-line);
  background: #fff;
  color: var(--pst-coral-dark);
}

.pst-catalog-results .woocommerce-result-count {
  margin-top: 11px;
  color: var(--pst-muted);
}

.pst-catalog-results .woocommerce-ordering select {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--pst-line);
  border-radius: 999px;
  background: #fff;
}

body.tax-product_cat .ast-container,
body.post-type-archive-product .ast-container,
body.search-results .ast-container,
body.single-product .ast-container,
body.woocommerce-cart .ast-container,
body.woocommerce-checkout .ast-container,
body.woocommerce-account .ast-container {
  width: min(1200px, calc(100% - 48px));
  max-width: 1200px;
  padding-inline: 0;
}

body.tax-product_cat .ast-woocommerce-container,
body.post-type-archive-product .ast-woocommerce-container,
body.search-results .ast-woocommerce-container {
  width: 100%;
  padding: 42px 0 64px;
}

body.tax-product_cat .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.search-results .page-header {
  display: none;
}

body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.search-results ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.woocommerce ul.products li.product {
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: 0 17px 38px rgba(27, 46, 53, 0.11);
}

body.woocommerce ul.products li.product img {
  height: 230px !important;
  background: var(--pst-soft);
  mix-blend-mode: multiply;
}

body.woocommerce ul.products li.product .button {
  border-radius: 999px;
  background: var(--pst-coral);
  color: #fff;
}

body.woocommerce ul.products li.product .button:hover {
  background: var(--pst-coral-dark);
  color: #fff;
}

body.single-product div.product {
  margin-top: 42px;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout form.checkout,
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  padding: 22px;
  border: 1px solid var(--pst-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(27, 46, 53, 0.05);
}

body.single-product div.product .woocommerce-product-gallery img {
  max-height: 560px;
  object-fit: contain;
}

body.single-product div.product .product_title {
  font-family: "Baloo 2", sans-serif;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.1;
}

body.single-product div.product p.price {
  color: var(--pst-coral-dark);
  font-size: 28px;
  font-weight: 800;
}

body.single-product div.product form.cart .button,
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-checkout #place_order {
  border-radius: 999px;
  background: var(--pst-coral);
  color: #fff;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products {
  margin-top: 30px;
}

body.single-product .related.products > h2 {
  font-family: "Baloo 2", sans-serif;
  font-size: 28px;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-account .entry-content {
  padding: 46px 0 64px;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  width: 100%;
}

.pst-footer-extras {
  padding: 48px 0 26px;
  background: var(--pst-bg);
}

.pst-footer-services {
  border-radius: 14px;
}

.pst-footer-links h2 {
  font-family: "IBM Plex Mono", monospace;
  color: var(--pst-teal);
  font-size: 12px;
  text-transform: uppercase;
}

.site-below-footer-wrap {
  border-top: 1px solid var(--pst-line);
  background: var(--pst-bg);
}

.pst-copyright {
  width: 100%;
  color: var(--pst-muted);
  text-align: center;
}

.pst-copyright p {
  margin: 0;
}

@media (max-width: 1024px) {
  .pst-shell,
  .pst-page-wrap,
  body.tax-product_cat .ast-container,
  body.post-type-archive-product .ast-container,
  body.search-results .ast-container,
  body.single-product .ast-container,
  body.woocommerce-cart .ast-container,
  body.woocommerce-checkout .ast-container,
  body.woocommerce-account .ast-container {
    width: min(100% - 32px, 1200px);
  }

  .pst-hero-grid {
    grid-template-columns: 1fr 0.9fr;
  }

  .pst-category-grid,
  .pst-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pst-catalog-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 20px;
  }
}

@media (max-width: 782px) {
  .admin-bar .pst-header {
    top: 46px;
  }
}

@media (max-width: 760px) {
  .pst-shell,
  .pst-page-wrap,
  body.tax-product_cat .ast-container,
  body.post-type-archive-product .ast-container,
  body.search-results .ast-container,
  body.single-product .ast-container,
  body.woocommerce-cart .ast-container,
  body.woocommerce-checkout .ast-container,
  body.woocommerce-account .ast-container {
    width: min(100% - 24px, 1200px);
  }

  .pst-header {
    position: relative;
    top: auto;
  }

  .admin-bar .pst-header {
    top: auto;
  }

  .pst-header-main {
    grid-template-columns: 138px 1fr auto;
  }

  .pst-search {
    max-width: none;
  }

  .pst-hero-grid {
    grid-template-columns: 1fr;
  }

  .pst-home-hero h1 {
    font-size: 40px;
  }

  .pst-hero-visual {
    min-height: 270px;
    padding: 12px;
  }

  .pst-hero-visual a,
  .pst-hero-visual img,
  .pst-hero-visual a > span {
    min-height: 115px;
  }

  .pst-trust-strip .pst-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pst-category-grid {
    display: grid;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .pst-category-card {
    min-width: 0;
  }

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

  .pst-catalog-banner {
    min-height: 0;
    align-items: flex-start;
    padding: 24px 20px;
  }

  .pst-catalog-layout {
    display: block;
  }

  .pst-filter-toggle {
    width: 100%;
    min-height: 44px;
    display: block;
    margin-bottom: 18px;
    border: 1px solid var(--pst-line);
    border-radius: 999px;
    background: #fff;
    color: var(--pst-ink);
    font-weight: 800;
  }

  .pst-catalog-filters {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
  }

  .pst-catalog-filters.is-open {
    display: block;
  }

  .pst-filter-close {
    display: block;
    border: 0;
    background: transparent;
    color: var(--pst-coral-dark);
    font-weight: 800;
  }

  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.search-results ul.products,
  body.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce ul.products li.product img {
    height: 180px !important;
  }

  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary,
  body.single-product .woocommerce-tabs,
  body.single-product .related.products,
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-account .woocommerce-MyAccount-navigation,
  body.woocommerce-account .woocommerce-MyAccount-content {
    padding: 14px;
  }

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

  .pst-footer-services,
  .pst-footer-links {
    grid-template-columns: 1fr;
  }

  .pst-business-identity {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .pst-business-copy {
    grid-column: auto;
  }

  .pst-footer-services a {
    border-right: 0;
    border-bottom: 1px solid var(--pst-line);
  }
}

@media (max-width: 420px) {
  .pst-home-hero h1 {
    font-size: 34px;
  }

  .pst-home-hero p {
    font-size: 14px;
  }

  .pst-hero-visual strong {
    font-size: 10px;
  }

  .pst-product-image {
    height: 155px;
  }

  .pst-product-body {
    min-height: 218px;
  }
}

/* 2.3.7: isolate the current catalog from the retired toolbar snippet. */
body.tax-product_cat .petshop-shop-toolbar,
body.post-type-archive-product .petshop-shop-toolbar,
body.search-results .petshop-shop-toolbar {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.tax-product_cat .petshop-shop-toolbar__filters,
body.post-type-archive-product .petshop-shop-toolbar__filters,
body.search-results .petshop-shop-toolbar__filters {
  display: none !important;
}

body.tax-product_cat .pst-catalog-banner,
body.post-type-archive-product .pst-catalog-banner,
body.search-results .pst-catalog-banner,
body.tax-product_cat .pst-catalog-layout,
body.post-type-archive-product .pst-catalog-layout,
body.search-results .pst-catalog-layout {
  width: 100% !important;
  max-width: none !important;
}

.pst-catalog-layout > .pst-catalog-filters {
  grid-column: 1;
  grid-row: 1 / 20;
}

.pst-catalog-layout > .pst-filter-toggle,
.pst-catalog-layout > .pst-catalog-results,
.pst-catalog-layout > ul.products,
.pst-catalog-layout > .woocommerce-pagination,
.pst-catalog-layout > .woocommerce-info,
.pst-catalog-layout > .woocommerce-notices-wrapper {
  min-width: 0;
  grid-column: 2;
}

.pst-catalog-layout > ul.products {
  width: 100% !important;
  margin: 0 !important;
}

.pst-catalog-layout > .woocommerce-pagination {
  width: 100%;
  margin-top: 8px;
}

/* 2.4.15: keep the category grid compact and let pagination use the full results column. */
body.tax-product_cat .pst-catalog-layout > .pst-catalog-filters,
body.post-type-archive-product .pst-catalog-layout > .pst-catalog-filters,
body.search-results .pst-catalog-layout > .pst-catalog-filters {
  grid-row: 1 / span 20;
  align-self: start;
}

body.tax-product_cat .pst-catalog-layout > ul.products,
body.post-type-archive-product .pst-catalog-layout > ul.products,
body.search-results .pst-catalog-layout > ul.products {
  clear: none !important;
}

body.tax-product_cat .pst-catalog-layout > .woocommerce-pagination,
body.post-type-archive-product .pst-catalog-layout > .woocommerce-pagination,
body.search-results .pst-catalog-layout > .woocommerce-pagination {
  justify-self: stretch;
  min-height: 38px;
}

body.tax-product_cat .pst-catalog-layout > .woocommerce-pagination ul.page-numbers,
body.post-type-archive-product .pst-catalog-layout > .woocommerce-pagination ul.page-numbers,
body.search-results .pst-catalog-layout > .woocommerce-pagination ul.page-numbers {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex-flow: row wrap !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.tax-product_cat .pst-catalog-layout > .woocommerce-pagination ul.page-numbers li,
body.post-type-archive-product .pst-catalog-layout > .woocommerce-pagination ul.page-numbers li,
body.search-results .pst-catalog-layout > .woocommerce-pagination ul.page-numbers li {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

@media (max-width: 1024px) and (min-width: 761px) {
  .pst-catalog-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 20px;
  }

  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.search-results ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body.woocommerce ul.products li.product img {
    height: 205px !important;
  }
}

@media (max-width: 760px) {
  .pst-announcement {
    min-height: 30px;
  }

  .pst-announcement .pst-shell {
    min-height: 30px;
    justify-content: center;
    font-size: 10px;
    text-align: center;
  }

  .pst-header-main {
    min-height: 0;
    grid-template-columns: 122px minmax(0, 1fr) auto;
    grid-template-rows: 56px 44px;
    gap: 8px;
    padding: 4px 0 10px;
  }

  .pst-logo,
  .pst-logo img {
    width: 132px;
    height: 44px;
  }

  .pst-actions {
    grid-column: 3;
    grid-row: 1;
    gap: 6px;
  }

  .pst-search {
    width: 100%;
    height: 42px;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
  }

  .pst-search input {
    padding-inline: 14px;
    font-size: 13px;
  }

  .pst-search button {
    width: 58px;
    font-size: 12px;
  }

  .pst-menu-toggle {
    min-height: 38px;
    padding-inline: 11px;
  }

  .pst-actions .pst-cart-link {
    width: 58px;
    min-height: 38px;
  }

  .pst-primary-nav .pst-shell {
    width: min(100% - 24px, 1200px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
  }

  .pst-home-hero {
    padding: 28px 0 32px;
  }

  .pst-home-hero h1 {
    font-size: 34px;
    line-height: 1.05;
  }

  .pst-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .pst-hero-visual {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
  }

  .pst-hero-visual a,
  .pst-hero-visual img,
  .pst-hero-visual a > span {
    min-height: 112px;
  }

  .pst-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pst-category-card {
    min-height: 150px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 14px;
  }

  .pst-category-card img,
  .pst-category-initial {
    width: 72px;
    height: 72px;
    margin-bottom: 10px;
  }

  .pst-category-card strong {
    font-size: 15px;
  }

  .pst-products-grid,
  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.search-results ul.products,
  body.single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .pst-catalog-banner {
    width: 100% !important;
    display: block;
    margin-bottom: 16px;
    padding: 20px 18px;
    border-radius: 14px;
  }

  .pst-catalog-banner > b {
    display: inline-flex;
    margin-top: 12px;
  }

  .pst-catalog-layout {
    width: 100% !important;
    display: block;
  }

  .pst-catalog-layout > .pst-filter-toggle,
  .pst-catalog-layout > .pst-catalog-results,
  .pst-catalog-layout > ul.products,
  .pst-catalog-layout > .woocommerce-pagination,
  .pst-catalog-layout > .woocommerce-info,
  .pst-catalog-layout > .woocommerce-notices-wrapper {
    width: 100%;
  }

  .pst-catalog-results {
    display: flow-root;
    margin-bottom: 16px;
  }

  body.woocommerce ul.products li.product {
    padding: 10px !important;
    border-radius: 12px;
  }

  body.woocommerce ul.products li.product img {
    height: 160px !important;
    padding: 5px;
  }

  body.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 54px;
    font-size: 13px !important;
  }

  body.woocommerce ul.products li.product .price {
    font-size: 16px !important;
  }

  body.woocommerce ul.products li.product .button {
    min-height: 40px;
    padding-inline: 8px;
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .pst-header-main {
    grid-template-columns: 108px minmax(0, 1fr) auto;
  }

  .pst-logo,
  .pst-logo img {
    width: 104px;
  }

  .pst-category-grid {
    grid-template-columns: 1fr;
  }

  body.woocommerce ul.products li.product img {
    height: 145px !important;
  }
}

/* 2.3.9 - mobile-first storefront composition */
@media (max-width: 760px) {
  body.pst-site-package {
    background: #f7faf8;
  }

  .pst-announcement {
    min-height: 28px;
    background: var(--pst-teal-dark);
  }

  .pst-announcement .pst-shell {
    width: calc(100% - 24px);
    min-height: 28px;
    justify-content: center;
    font-size: 10px;
  }

  .pst-announcement a {
    display: none !important;
  }

  .pst-header {
    background: rgba(255, 255, 255, 0.98);
  }

  .pst-header-main {
    width: calc(100% - 24px);
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 58px 50px;
    grid-template-rows: 58px 44px;
    gap: 8px;
    padding: 4px 0 10px;
  }

  .pst-logo,
  .pst-logo img {
    width: 154px;
    max-width: 100%;
    height: 44px;
  }

  .pst-logo {
    grid-column: 1;
    grid-row: 1;
  }

  .pst-menu-toggle {
    width: 58px;
    min-height: 40px;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
    border: 1px solid var(--pst-line);
    border-radius: 12px;
    background: #fff;
    color: var(--pst-ink);
    font-size: 11px;
    font-weight: 800;
    box-shadow: none;
  }

  .pst-actions {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }

  .pst-actions a:not(.pst-cart-link) {
    display: none !important;
  }

  .pst-actions .pst-cart-link {
    width: 50px;
    min-height: 40px;
    justify-content: center;
    border-radius: 12px;
    background: var(--pst-teal);
  }

  .pst-search {
    height: 44px;
    grid-column: 1 / -1;
    grid-row: 2;
    border-color: var(--pst-line);
    border-radius: 14px;
    background: #f6f8f7;
  }

  .pst-search input {
    font-size: 12px;
  }

  .pst-search button {
    width: 58px;
    background: var(--pst-coral);
    color: #fff;
  }

  .pst-primary-nav {
    border-top: 1px solid var(--pst-line);
    background: #fff;
  }

  .pst-home-hero {
    padding: 22px 0 28px;
    background:
      linear-gradient(180deg, #f7faf8 0%, #ffffff 70%),
      var(--pst-bg);
  }

  .pst-hero-grid {
    width: calc(100% - 24px);
    gap: 20px;
  }

  .pst-eyebrow {
    margin-bottom: 10px;
    padding: 7px 10px;
    font-size: 10px;
  }

  .pst-home-hero h1 {
    max-width: 340px;
    margin-bottom: 13px;
    font-size: 33px;
    line-height: 1.04;
  }

  .pst-home-hero p {
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.55;
  }

  .pst-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }

  .pst-hero-actions .pst-button {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    padding-inline: 10px;
    font-size: 12px;
    white-space: nowrap;
  }

  .pst-hero-visual {
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 9px;
    border: 1px solid var(--pst-line);
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(23, 49, 58, 0.08);
  }

  .pst-hero-visual a:nth-child(n + 3) {
    display: none;
  }

  .pst-hero-visual a,
  .pst-hero-visual img,
  .pst-hero-visual a > span {
    min-height: 142px;
  }

  .pst-hero-visual img {
    padding: 8px;
    background: #f7f9f8;
    object-fit: contain;
  }

  .pst-hero-visual strong {
    right: 8px;
    bottom: 8px;
    padding: 5px 9px;
    border: 1px solid var(--pst-line);
    background: rgba(255, 255, 255, 0.94);
    font-size: 10px;
  }

  .pst-trust-strip {
    padding: 12px 0 2px;
    background: #fff;
  }

  .pst-trust-strip .pst-shell {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .pst-trust-strip .pst-shell > div {
    min-height: 78px;
    align-items: flex-start;
    padding: 12px;
    border: 1px solid var(--pst-line);
    border-radius: 12px;
    background: #f8faf9;
  }
}

@media (max-width: 380px) {
  .pst-header-main {
    grid-template-columns: minmax(0, 1fr) 54px 48px;
  }

  .pst-logo,
  .pst-logo img {
    width: 142px;
  }

  .pst-menu-toggle {
    width: 54px;
  }

  .pst-actions .pst-cart-link {
    width: 48px;
  }

  .pst-home-hero h1 {
    font-size: 30px;
  }

  .pst-hero-visual a,
  .pst-hero-visual img,
  .pst-hero-visual a > span {
    min-height: 128px;
  }
}

/* 2.3.10 - compact mobile header controls */
@media (max-width: 760px) {
  .pst-header-main {
    padding: 4px 0 10px !important;
  }

  .pst-menu-toggle {
    padding: 0 !important;
  }

  .pst-actions .pst-cart-link {
    gap: 0 !important;
    padding: 0 6px !important;
    background: var(--pst-teal) !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  .pst-actions .pst-cart-link::before {
    color: #fff !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .pst-actions .pst-cart-link span {
    top: 4px;
    right: 4px;
  }
}

/* 2.4.0 - visual blog cards and single post reading layout */
@media (max-width: 760px) {
  .pst-blog-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pst-blog-grid article {
    border-radius: 12px;
  }

  .pst-blog-grid article div {
    padding: 16px;
  }

  .pst-blog-grid h3 {
    font-size: 18px;
  }

  body.single-post article.post {
    border-radius: 12px;
  }

  body.single-post article.post .entry-header,
  body.single-post article.post .entry-content {
    width: min(100% - 28px, 820px);
  }

  body.single-post article.post .entry-header {
    padding-top: 26px;
  }

  body.single-post article.post .entry-title {
    font-size: 32px;
  }

  .pst-single-blog-cover {
    width: calc(100% + 28px);
    margin: 4px 0 18px -14px;
    border-radius: 0;
  }

  .pst-single-blog-content {
    font-size: 15.5px;
    line-height: 1.72;
  }

  .pst-related-blog {
    margin-top: 36px;
    padding-top: 28px;
  }

  body.blog .site-main > .ast-row,
  body.category .site-main > .ast-row,
  body.tag .site-main > .ast-row,
  body.author .site-main > .ast-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.blog .site-main > .ast-row > article.post .entry-title,
  body.category .site-main > .ast-row > article.post .entry-title,
  body.tag .site-main > .ast-row > article.post .entry-title,
  body.author .site-main > .ast-row > article.post .entry-title {
    font-size: 20px;
  }
}

/* 2.4.4 - keep all mobile header controls inside the viewport */
@media (max-width: 760px) {
  .pst-header-main {
    grid-template-columns: minmax(0, 1fr) 54px 46px !important;
    column-gap: 6px !important;
  }

  .pst-logo,
  .pst-logo img {
    width: 122px !important;
    max-width: 100% !important;
  }

  .pst-menu-toggle {
    width: 54px !important;
  }

  .pst-actions {
    min-width: 0;
  }

  .pst-actions .pst-cart-link {
    width: 46px !important;
    min-width: 46px !important;
    padding-inline: 4px !important;
  }
}

@media (max-width: 380px) {
  .pst-header-main {
    grid-template-columns: minmax(0, 1fr) 50px 44px !important;
    column-gap: 5px !important;
  }

  .pst-logo,
  .pst-logo img {
    width: 112px !important;
  }

  .pst-menu-toggle {
    width: 50px !important;
  }

  .pst-actions .pst-cart-link {
    width: 44px !important;
    min-width: 44px !important;
  }
}

/* Fix (Claude, 2026-07-31): mobilde "Sepetim" yazisi butonun disina tasiyor,
 * kirmizi "0" rozeti son harfin ustune biniyordu. Onceki surumler (2.3.10-2.4.5)
 * butonu 64px'ten 44px'e kadar kucultmus ama metni hep ayni birakmis; grid sutunu
 * sabit oldugu icin metni sigdirmak yerine kompakt bir sepet ikonu gosteriyoruz. */
@media (max-width: 760px) {
  .pst-actions .pst-cart-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  .pst-actions .pst-cart-link::before {
    content: "\1F6D2" !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .pst-actions .pst-cart-link span {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    min-width: 15px !important;
    height: 15px !important;
    line-height: 15px !important;
    padding: 0 !important;
    font-size: 9px !important;
  }
}

/* 2.4.5 final cascade: portrait product media and real brand marks */
.pst-product-image {
  width: calc(100% - 20px);
  height: auto !important;
  aspect-ratio: 4 / 5;
}

.pst-product-image img {
  width: 90% !important;
  height: 90% !important;
  object-fit: contain;
}

body.tax-product_cat ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.search-results ul.products li.product img,
body.single-product .related.products ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}

body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery__image {
  width: 100%;
}

body.single-product div.product .woocommerce-product-gallery__image {
  min-height: 0;
  aspect-ratio: 4 / 5;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}

body.single-product div.product .woocommerce-product-gallery__image > a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.single-product div.product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  padding: 22px;
  object-fit: contain;
}

.pst-brand-card {
  min-height: 136px !important;
}

.pst-brand-logo {
  width: 100%;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 10px;
  background: #fff;
}

.pst-brand-logo img {
  width: auto;
  max-width: 106px;
  height: auto;
  max-height: 46px;
  margin: 0;
  object-fit: contain;
}

@media (max-width: 1000px) {
  .pst-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.single-product div.product .woocommerce-product-gallery__image img {
    padding: 12px;
  }

  .pst-brand-card {
    min-height: 124px !important;
  }
}

@media (max-width: 560px) {
  .pst-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pst-brand-logo {
    height: 48px;
  }

  .pst-brand-logo img {
    max-width: 92px;
    max-height: 40px;
  }
}

/* 2.4.7 - Functional retail pages and WooCommerce account layout */
.pst-page-hero--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  align-items: end;
  margin-bottom: 28px;
  padding: clamp(28px, 5vw, 54px);
  border: 0;
  border-radius: var(--pst-radius);
  background: var(--pst-teal-dark);
  color: #fff;
}

.pst-page-hero--split > div:first-child > span,
.pst-page-hero--split h1,
.pst-page-hero--split p {
  color: #fff;
}

.pst-page-hero--split > div:first-child > span,
.pst-card-kicker,
.pst-section-heading > div > span,
.pst-adoption-toolbar > div > span,
.pst-calculator-heading > span {
  display: block;
  margin-bottom: 8px;
  color: var(--pst-coral-dark);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pst-page-hero--split > div:first-child > span {
  color: var(--pst-sun);
}

.pst-page-hero--split h1 {
  max-width: 760px;
  margin: 0 0 12px;
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.05;
}

.pst-page-hero--split p {
  max-width: 760px;
  margin: 0;
  opacity: 0.9;
}

.pst-hero-note {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.09);
}

.pst-hero-note strong {
  font-family: "Baloo 2", sans-serif;
  font-size: 20px;
}

.pst-hero-note span {
  font-size: 13px;
  line-height: 1.6;
  opacity: 0.88;
}

.pst-section-heading,
.pst-adoption-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: 36px 0 18px;
}

.pst-section-heading h2,
.pst-adoption-toolbar h2,
.pst-calculator-heading h2 {
  margin: 0;
  color: var(--pst-ink);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.15;
}

.pst-section-heading p {
  max-width: 470px;
  margin: 0;
  color: var(--pst-muted);
}

.pst-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.pst-service-grid article {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

.pst-service-grid article h2 {
  margin: 0 0 10px;
}

.pst-service-grid article p {
  flex: 1;
  margin: 0 0 24px;
  line-height: 1.65;
}

.pst-process-section {
  margin-top: 38px;
  padding: 30px;
  border-radius: var(--pst-radius);
  background: var(--pst-soft);
}

.pst-process-section .pst-section-heading {
  margin-top: 0;
}

.pst-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.pst-process-grid article {
  padding: 20px 0 8px;
  border-top: 2px solid var(--pst-teal);
}

.pst-process-grid article b {
  color: var(--pst-coral-dark);
  font-family: "IBM Plex Mono", monospace;
}

.pst-process-grid article h3 {
  margin: 14px 0 6px;
  color: var(--pst-ink);
  font-size: 20px;
}

.pst-process-grid article p {
  margin: 0;
  color: var(--pst-muted);
  line-height: 1.6;
}

.pst-info-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid rgba(244, 185, 64, 0.55);
  border-radius: 10px;
  background: #fff9e9;
  color: var(--pst-ink);
}

.pst-calculator-shell,
.pst-subscription-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 20px;
  align-items: stretch;
}

.pst-calculator,
.pst-calculator-guide,
.pst-subscription-form,
.pst-subscription-summary {
  padding: 26px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

.pst-calculator {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 14px;
  align-items: end;
}

.pst-calculator-heading {
  grid-column: 1 / -1;
}

.pst-calculator label,
.pst-subscription-form label {
  display: grid;
  gap: 8px;
  color: var(--pst-ink);
  font-size: 13px;
  font-weight: 700;
}

.pst-calculator input,
.pst-calculator select,
.pst-subscription-form input,
.pst-subscription-form select,
.pst-subscription-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--pst-line);
  border-radius: 8px;
  background: var(--pst-bg);
  color: var(--pst-ink);
}

.pst-calculator output {
  grid-column: 1 / -1;
  min-height: 0;
  color: var(--pst-teal-dark);
  font-size: 17px;
  font-weight: 700;
}

.pst-calculator-guide,
.pst-subscription-summary {
  background: var(--pst-ink);
  color: #fff;
}

.pst-calculator-guide h2,
.pst-subscription-summary h2 {
  margin: 0 0 16px;
  color: #fff;
}

.pst-calculator-guide .pst-card-kicker,
.pst-subscription-summary .pst-card-kicker {
  color: var(--pst-sun);
}

.pst-calculator-guide ul,
.pst-subscription-summary ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 20px;
}

.pst-calculator-guide li,
.pst-subscription-summary li,
.pst-subscription-summary p {
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.55;
}

.pst-disclaimer {
  margin: 14px 0 0;
  color: var(--pst-muted);
  font-size: 12px;
}

.pst-subscription-steps {
  margin: 8px 0 28px;
  padding: 0 10px;
}

.pst-subscription-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pst-subscription-form .is-wide {
  grid-column: 1 / -1;
}

.pst-subscription-form textarea {
  resize: vertical;
}

.pst-subscription-summary p {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.pst-adoption-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.pst-adoption-grid article {
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

.pst-adoption-grid article a {
  display: block;
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-adoption-grid article img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.pst-adoption-grid article a > div {
  padding: 20px;
}

.pst-adoption-grid article h2 {
  margin: 0 0 8px;
  font-size: 22px;
}

.pst-adoption-grid article p {
  min-height: 0;
  margin: 0 0 14px;
  color: var(--pst-muted);
}

.pst-adoption-grid article b {
  color: var(--pst-coral-dark);
}

.pst-adoption-empty {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 28px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-adoption-empty-media {
  height: 100%;
  min-height: 320px;
}

.pst-adoption-empty-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pst-adoption-empty > div:last-child {
  padding: 28px 34px 28px 0;
}

.pst-adoption-empty h2 {
  margin: 0 0 10px;
  color: var(--pst-ink);
  font-size: 30px;
}

.pst-adoption-empty p {
  margin: 0 0 22px;
  color: var(--pst-muted);
  line-height: 1.7;
}

.pst-home-adoption {
  background: var(--pst-soft);
}

.pst-home-adoption-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pst-home-adoption-card {
  overflow: hidden;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-home-adoption-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.pst-home-adoption-card span {
  display: grid;
  gap: 2px;
  padding: 14px;
}

.pst-home-adoption-card small {
  color: var(--pst-muted);
}

.pst-home-adoption-callout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-home-adoption-callout img {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 10px;
  object-fit: cover;
}

.pst-home-adoption-callout h3 {
  margin: 0 0 6px;
  color: var(--pst-ink);
  font-size: 24px;
}

.pst-home-adoption-callout p {
  margin: 0;
  color: var(--pst-muted);
}

.pst-campaign-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pst-campaign-benefits a {
  display: grid;
  gap: 5px;
  min-height: 148px;
  padding: 20px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  color: var(--pst-ink);
  text-decoration: none;
}

.pst-campaign-benefits a:hover {
  border-color: var(--pst-coral);
  transform: translateY(-3px);
}

.pst-campaign-benefits span {
  color: var(--pst-coral-dark);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.pst-campaign-benefits strong {
  font-family: "Baloo 2", sans-serif;
  font-size: 21px;
  line-height: 1.2;
}

.pst-campaign-benefits small {
  color: var(--pst-muted);
  line-height: 1.45;
}

body.woocommerce-account .woocommerce {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  border: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  border-radius: 8px;
  color: var(--pst-ink);
  font-weight: 700;
  text-decoration: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--pst-teal);
  color: #fff;
}

body.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 2 !important;
  grid-row: 1 !important;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

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

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

/* Fix (Claude, 2026-07-31): cikis yapilmamis durumda (giris/uye ol, sifre sifirlama)
 * .woocommerce-MyAccount-navigation hic render olmuyor, ama ust grid kurali hala
 * "grid-template-columns: 240px 1fr" bekliyordu. Tek cocuk (login formu) grid-column
 * atanmadigi icin otomatik olarak 1. (240px) sutuna dusuyor, saga bosluk kaliyordu.
 * Bu durumda tam genislik kullansin diye ilgili elemanlari her iki sutuna yayiyoruz. */
body.woocommerce-account .woocommerce > .u-columns.col2-set,
body.woocommerce-account .woocommerce > form.woocommerce-form-login,
body.woocommerce-account .woocommerce > form.woocommerce-ResetPassword,
body.woocommerce-account .woocommerce > form.woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce > div.woocommerce-notices-wrapper + form {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 28px !important;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 8px 24px rgba(27, 46, 53, 0.06);
}

/* col-1/col-2 icin temanin kendi float:left/right + width:%48 kurallari zaten
 * dogru calisiyor - burada onlara mudahale etmiyoruz, sadece disaridaki .woocommerce
 * grid'inin bunlari 240px'lik dar sutuna sikistirmasini engelledik (yukarida). */

@media (max-width: 1000px) {
  .pst-page-hero--split {
    grid-template-columns: minmax(0, 1fr) 250px;
  }

  .pst-service-grid,
  .pst-adoption-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .pst-calculator .pst-button {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .pst-page-hero--split,
  .pst-calculator-shell,
  .pst-subscription-layout,
  .pst-adoption-empty {
    grid-template-columns: 1fr;
  }

  .pst-page-hero--split {
    gap: 22px;
    padding: 28px 22px;
  }

  .pst-page-hero--split h1 {
    font-size: 36px;
  }

  .pst-section-heading,
  .pst-adoption-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .pst-service-grid,
  .pst-process-grid,
  .pst-adoption-grid,
  .pst-campaign-benefits {
    grid-template-columns: 1fr;
  }

  .pst-service-grid article {
    min-height: 0;
  }

  .pst-process-section {
    padding: 22px;
  }

  .pst-calculator,
  .pst-subscription-form {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .pst-subscription-form .is-wide {
    grid-column: auto;
  }

  .pst-adoption-empty-media {
    min-height: 230px;
  }

  .pst-adoption-empty > div:last-child {
    padding: 2px 22px 24px;
  }

  .pst-home-adoption-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pst-home-adoption-callout {
    grid-template-columns: 1fr;
  }

  .pst-home-adoption-callout .pst-button {
    width: 100%;
  }

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

  body.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 20px !important;
  }
}

@media (max-width: 560px) {
  .pst-page-hero--split h1 {
    font-size: 32px;
  }

  .pst-home-adoption-grid {
    grid-template-columns: 1fr;
  }

  .pst-info-banner {
    grid-template-columns: 1fr;
  }
}
/* 2.4.13 - Homepage lifestyle hero */
.pst-home-hero .pst-hero-visual {
  display: block;
  min-height: 380px;
  padding: 0;
  overflow: hidden;
  border-radius: 22px;
  background: #e9efe9;
}

.pst-home-hero .pst-hero-lifestyle {
  position: relative;
  display: block;
  width: 100%;
  min-height: 380px;
  overflow: hidden;
  border-radius: inherit;
  background: #e9efe9;
  color: #fff;
}

.pst-home-hero .pst-hero-lifestyle img {
  display: block;
  width: 100%;
  height: 380px;
  min-height: 380px;
  padding: 0;
  object-fit: cover;
  object-position: center 48%;
  transition: transform 300ms ease;
}

.pst-home-hero .pst-hero-lifestyle:hover img {
  transform: scale(1.025);
}

.pst-home-hero .pst-hero-lifestyle-copy {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  display: grid;
  gap: 2px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 12px;
  background: rgba(27, 46, 53, 0.84);
  color: #fff;
  backdrop-filter: blur(8px);
}

.pst-home-hero .pst-hero-lifestyle-copy strong {
  position: static;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 17px;
}

.pst-home-hero .pst-hero-lifestyle-copy small {
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
}

@media (max-width: 760px) {
  .pst-home-hero .pst-hero-visual,
  .pst-home-hero .pst-hero-lifestyle {
    min-height: 255px;
  }

  .pst-home-hero .pst-hero-lifestyle img {
    height: 255px;
    min-height: 255px;
    padding: 0;
    object-position: center 50%;
  }

  .pst-home-hero .pst-hero-lifestyle-copy {
    right: 10px;
    bottom: 10px;
    left: 10px;
    padding: 10px 12px;
  }

  .pst-home-hero .pst-hero-lifestyle-copy strong {
    font-size: 14px;
  }

  .pst-home-hero .pst-hero-lifestyle-copy small {
    font-size: 10px;
  }
}


/* 2.4.16 - clean imagery and commerce layouts */
.pst-home-hero .pst-hero-visual,
.pst-home-hero .pst-hero-lifestyle {
  min-height: 380px;
  background: #fff;
}

.pst-home-hero .pst-hero-lifestyle img {
  height: 380px;
  min-height: 380px;
  padding: 0;
  object-fit: cover;
  object-position: center;
}

.pst-home-hero .pst-hero-lifestyle-copy {
  display: none !important;
}

.pst-category-card {
  grid-template-columns: 104px minmax(0, 1fr);
  min-height: 154px;
  gap: 20px;
  padding: 22px;
}

.pst-category-card img,
.pst-category-image-empty {
  grid-row: 1 / span 2;
  width: 104px;
  height: 104px;
  padding: 9px;
  border: 1px solid rgba(27, 46, 53, 0.08);
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
  mix-blend-mode: normal;
}

.pst-category-image-empty {
  display: block;
  background: #fff url("pst-logo.svg") center / 72% auto no-repeat;
}

.pst-product-image {
  height: 270px;
  padding: 10px;
  background: #fff;
}

.pst-product-image img {
  width: 100%;
  height: 100%;
  padding: 8px;
  background: #fff;
  object-fit: contain;
  mix-blend-mode: normal;
}

body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.search-results ul.products li.product {
  overflow: hidden;
  background: #fff;
}

body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
body.post-type-archive-product ul.products li.product .astra-shop-thumbnail-wrap,
body.search-results ul.products li.product .astra-shop-thumbnail-wrap,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__link,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__link,
body.search-results ul.products li.product .woocommerce-loop-product__link {
  display: block;
  background: #fff;
}

body.tax-product_cat ul.products li.product img,
body.post-type-archive-product ul.products li.product img,
body.search-results ul.products li.product img {
  width: 100% !important;
  height: 310px !important;
  padding: 14px !important;
  border-radius: 12px 12px 0 0;
  background: #fff !important;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}

body.single-product div.product .woocommerce-product-gallery {
  background: #fff;
}

body.single-product div.product .woocommerce-product-gallery__image {
  min-height: 620px;
  aspect-ratio: auto;
  background: #fff;
}

body.single-product div.product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 620px !important;
  padding: 24px !important;
  background: #fff;
  object-fit: contain !important;
  mix-blend-mode: normal !important;
}

body.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 28px;
  align-items: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .pst-pickup-notice,
body.woocommerce-cart .woocommerce > .return-to-shop {
  grid-column: 1 / -1;
}

body.woocommerce-cart .woocommerce-cart-form {
  grid-column: 1;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body.woocommerce-cart .cart-collaterals {
  grid-column: 2;
  position: sticky;
  top: 126px;
  width: 100%;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  margin: 0;
  padding: 26px;
}

body.woocommerce-cart table.shop_table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  border: 0;
}

body.woocommerce-cart table.shop_table thead th {
  padding: 14px 16px;
  border-bottom: 1px solid var(--pst-line);
  background: var(--pst-bg-dim);
  color: var(--pst-muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  text-transform: uppercase;
}

body.woocommerce-cart table.shop_table td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--pst-line);
  vertical-align: middle;
}

body.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 92px;
  height: 92px;
  padding: 6px;
  border: 1px solid var(--pst-line);
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
}

body.woocommerce-cart table.shop_table .product-name a {
  color: var(--pst-ink);
  font-weight: 800;
}

body.woocommerce-cart table.shop_table .quantity .qty {
  min-height: 44px;
  border: 1px solid var(--pst-line);
  border-radius: 999px;
  background: #fff;
}

body.woocommerce-cart table.shop_table .actions {
  padding: 18px;
  background: #fff;
}

body.woocommerce-cart table.shop_table .coupon {
  display: flex;
  gap: 10px;
}

body.woocommerce-cart table.shop_table .coupon input,
body.woocommerce-cart table.shop_table .coupon button,
body.woocommerce-cart table.shop_table button[name="update_cart"] {
  min-height: 44px;
  border-radius: 999px;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 18px;
  font-family: "Baloo 2", sans-serif;
  font-size: 28px;
}

body.woocommerce-cart .cart_totals table td,
body.woocommerce-cart .cart_totals table th {
  padding: 14px 10px;
  border-bottom: 1px solid var(--pst-line);
  background: transparent;
}

body.woocommerce-cart .wc-proceed-to-checkout {
  padding: 18px 0 0;
}

body.woocommerce-cart .wc-proceed-to-checkout a {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-weight: 800;
}

@media (max-width: 1000px) {
  body.woocommerce-cart .woocommerce {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 20px;
  }

  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image img {
    min-height: 520px;
    height: 520px !important;
  }
}

@media (max-width: 760px) {
  .pst-home-hero .pst-hero-visual,
  .pst-home-hero .pst-hero-lifestyle {
    min-height: 260px;
  }

  .pst-home-hero .pst-hero-lifestyle img {
    height: 260px;
    min-height: 260px;
  }

  .pst-category-card {
    grid-template-columns: 88px minmax(0, 1fr);
    min-height: 132px;
    gap: 16px;
    padding: 18px;
  }

  .pst-category-card img,
  .pst-category-image-empty {
    width: 88px;
    height: 88px;
  }

  .pst-product-image {
    height: 220px;
  }

  body.tax-product_cat ul.products li.product img,
  body.post-type-archive-product ul.products li.product img,
  body.search-results ul.products li.product img {
    height: 235px !important;
    padding: 10px !important;
  }

  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image img {
    min-height: 420px;
    height: 420px !important;
  }

  body.single-product div.product .woocommerce-product-gallery__image img {
    padding: 12px !important;
  }

  body.woocommerce-cart .woocommerce {
    display: block;
  }

  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals {
    width: 100%;
    margin-bottom: 20px;
  }

  body.woocommerce-cart .cart-collaterals {
    position: static;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 8px 14px;
    padding: 16px;
    border-bottom: 1px solid var(--pst-line);
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td {
    padding: 4px 0;
    border: 0;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-remove {
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-thumbnail {
    grid-column: 1;
    grid-row: 1 / span 4;
    display: block !important;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-name,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-price,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-quantity,
  body.woocommerce-cart table.shop_table_responsive tr.cart_item .product-subtotal {
    grid-column: 2;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item td::before {
    margin-right: 8px;
    color: var(--pst-muted);
  }
}

@media (max-width: 420px) {
  .pst-category-card {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .pst-category-card img,
  .pst-category-image-empty {
    width: 76px;
    height: 76px;
  }

  body.tax-product_cat ul.products li.product img,
  body.post-type-archive-product ul.products li.product img,
  body.search-results ul.products li.product img {
    height: 205px !important;
  }

  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image img {
    min-height: 350px;
    height: 350px !important;
  }

  body.woocommerce-cart table.shop_table .coupon {
    flex-direction: column;
  }
}


/* 2.4.16 - English guide content */
.pst-english-guide {
  color: var(--pst-ink);
  font-family: "Inter", sans-serif;
  font-size: 17px;
  line-height: 1.75;
}

.pst-english-guide .pst-guide-lead {
  margin: 0 0 28px;
  padding: 22px 24px;
  border-left: 4px solid var(--pst-coral);
  border-radius: 0 14px 14px 0;
  background: var(--pst-bg-dim);
  font-size: 19px;
  font-weight: 600;
}

.pst-english-guide h2 {
  margin: 34px 0 12px;
  color: var(--pst-ink);
  font-family: "Baloo 2", sans-serif;
  font-size: 30px;
  line-height: 1.15;
}

.pst-guide-checklist {
  display: grid;
  gap: 10px;
  margin: 18px 0 28px;
  padding-left: 24px;
}

.pst-guide-checklist li::marker {
  color: var(--pst-teal);
  font-weight: 800;
}

.pst-guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 30px 0;
}

.pst-guide-note {
  margin-top: 28px;
  padding: 18px 20px;
  border: 1px solid rgba(244, 185, 64, 0.5);
  border-radius: 14px;
  background: rgba(244, 185, 64, 0.11);
  font-size: 14px;
}

@media (max-width: 560px) {
  .pst-english-guide {
    font-size: 16px;
  }

  .pst-english-guide .pst-guide-lead {
    padding: 18px;
    font-size: 17px;
  }

  .pst-english-guide h2 {
    font-size: 25px;
  }

  .pst-guide-actions .pst-button {
    width: 100%;
  }
}

/* 2.4.23 - Turkey-wide services and multilingual service guides */
.pst-service-page {
  overflow: clip;
}

.pst-service-page .pst-page-hero {
  align-items: stretch;
}

.pst-service-hero-media {
  min-height: 280px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-service-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}

.pst-service-coverage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0 46px;
}

.pst-service-coverage article {
  padding: 24px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 16px 38px rgba(27, 46, 53, 0.06);
}

.pst-service-coverage article:last-child {
  border-color: rgba(242, 120, 92, 0.34);
  background: #fff8f5;
}

.pst-service-coverage span {
  color: var(--pst-teal);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.pst-service-coverage h2 {
  margin: 7px 0 8px;
  font-size: 24px;
}

.pst-service-coverage p {
  margin: 0;
  color: var(--pst-muted);
  line-height: 1.65;
}

.pst-service-page .pst-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

.pst-service-page .pst-service-grid .pst-service-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 14px 34px rgba(27, 46, 53, 0.07);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.pst-service-page .pst-service-grid .pst-service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 46px rgba(27, 46, 53, 0.12);
}

.pst-service-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #fff;
}

.pst-service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 240ms ease;
}

.pst-service-card:hover .pst-service-card__media img {
  transform: scale(1.025);
}

.pst-service-card__body {
  display: flex;
  min-height: 260px;
  padding: 22px;
  flex: 1;
  flex-direction: column;
}

.pst-service-page .pst-service-grid .pst-service-card__body h2 {
  margin: 7px 0 10px;
  font-size: 23px;
  line-height: 1.15;
}

.pst-service-page .pst-service-grid .pst-service-card__body > p {
  margin: 0 0 20px;
  flex: 1;
  color: var(--pst-muted);
  line-height: 1.65;
}

.pst-service-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.pst-service-language-links {
  display: flex;
  gap: 6px;
  direction: ltr;
}

.pst-service-language-links a {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pst-line);
  border-radius: 50%;
  color: var(--pst-ink);
  background: var(--pst-bg);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.pst-service-language-links a:hover,
.pst-service-language-links a:focus-visible {
  border-color: var(--pst-teal);
  color: #fff;
  background: var(--pst-teal);
}

.pst-blog-language-section[dir="rtl"] {
  text-align: right;
}

.pst-blog-language-section[dir="rtl"] .pst-section-title {
  text-align: right;
}

@media (max-width: 1000px) {
  .pst-service-page .pst-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .pst-service-coverage,
  .pst-service-page .pst-service-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pst-service-hero-media,
  .pst-service-hero-media img {
    min-height: 220px;
  }

  .pst-service-card__body {
    min-height: 0;
    padding: 20px;
  }

  .pst-service-actions .pst-button {
    width: 100%;
  }

  .pst-service-language-links {
    width: 100%;
  }
}

/* 2.4.24 - Member adoption listings */
.pst-adoption-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}

.pst-adoption-card-meta span {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--pst-soft);
  color: var(--pst-teal-dark);
  font-size: 12px;
  font-weight: 700;
}

.pst-adoption-community {
  scroll-margin-top: 130px;
  margin-top: 42px;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
  box-shadow: 0 12px 34px rgba(27, 46, 53, 0.07);
}

.pst-adoption-community > .pst-section-heading {
  margin-top: 0;
}

.pst-adoption-notice {
  margin: 0 0 20px;
  padding: 15px 18px;
  border-radius: 10px;
  font-weight: 700;
  line-height: 1.5;
}

.pst-adoption-notice.is-success {
  border: 1px solid rgba(47, 125, 116, 0.32);
  background: #eaf7f3;
  color: var(--pst-teal-dark);
}

.pst-adoption-notice.is-error {
  border: 1px solid rgba(217, 96, 63, 0.28);
  background: #fff0eb;
  color: #9d3f28;
}

.pst-adoption-login {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 24px;
  border-radius: 12px;
  background: var(--pst-soft);
}

.pst-adoption-login h3 {
  margin: 0 0 6px;
  color: var(--pst-ink);
  font-size: 24px;
}

.pst-adoption-login p {
  max-width: 680px;
  margin: 0;
  color: var(--pst-muted);
}

.pst-adoption-login > div:last-child {
  display: flex;
  gap: 10px;
}

.pst-button.is-secondary {
  border: 1px solid var(--pst-teal);
  background: #fff;
  color: var(--pst-teal-dark);
}

.pst-adoption-member-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
  padding: 14px 18px;
  border-radius: 10px;
  background: var(--pst-soft);
}

.pst-adoption-member-head > div {
  display: grid;
  gap: 2px;
}

.pst-adoption-member-head span {
  color: var(--pst-muted);
  font-size: 12px;
}

.pst-adoption-member-head a {
  color: var(--pst-coral-dark);
  font-weight: 700;
}

.pst-adoption-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pst-adoption-form > label {
  display: grid;
  gap: 8px;
  align-content: start;
  color: var(--pst-ink);
  font-size: 13px;
  font-weight: 700;
}

.pst-adoption-form > label.is-wide,
.pst-adoption-submit {
  grid-column: 1 / -1;
}

.pst-adoption-form input:not([type="checkbox"]),
.pst-adoption-form select,
.pst-adoption-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--pst-line);
  border-radius: 9px;
  background: var(--pst-bg);
  color: var(--pst-ink);
}

.pst-adoption-form textarea {
  resize: vertical;
}

.pst-adoption-form input:focus,
.pst-adoption-form select:focus,
.pst-adoption-form textarea:focus {
  border-color: var(--pst-teal);
  outline: 3px solid rgba(47, 125, 116, 0.12);
}

.pst-adoption-form label > small {
  color: var(--pst-muted);
  font-weight: 400;
}

.pst-adoption-upload {
  padding: 14px;
  border: 1px dashed rgba(47, 125, 116, 0.42);
  border-radius: 10px;
  background: #f7fbfa;
}

.pst-adoption-upload input {
  min-height: 0 !important;
  padding: 8px !important;
  background: #fff !important;
}

.pst-adoption-form .pst-check {
  display: flex;
  grid-template-columns: none;
  flex-direction: row;
  gap: 10px;
  align-items: flex-start;
  padding: 13px 15px;
  border-radius: 9px;
  background: var(--pst-soft);
  font-weight: 600;
  line-height: 1.5;
}

.pst-adoption-form .pst-check input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 18px;
  accent-color: var(--pst-teal);
}

.pst-adoption-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 6px;
}

.pst-adoption-submit p {
  margin: 0;
  color: var(--pst-muted);
  font-size: 13px;
}

.pst-adoption-submit .pst-button {
  border: 0;
  cursor: pointer;
}

.pst-adoption-mine {
  margin-top: 38px;
  padding-top: 28px;
  border-top: 1px solid var(--pst-line);
}

.pst-adoption-mine .pst-section-heading {
  margin-top: 0;
}

.pst-adoption-mine-list {
  display: grid;
  gap: 10px;
}

.pst-adoption-mine-list article {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--pst-line);
  border-radius: 10px;
  background: #fff;
}

.pst-adoption-mine-list img {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  object-fit: cover;
}

.pst-adoption-mine-list article > div {
  display: grid;
  gap: 3px;
}

.pst-adoption-mine-list small {
  color: var(--pst-muted);
}

.pst-adoption-mine-list article > span {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--pst-soft);
  color: var(--pst-ink);
  font-size: 12px;
  font-weight: 700;
}

.pst-adoption-mine-list article > span.is-publish {
  background: #e4f7ed;
  color: #08763c;
}

.pst-adoption-mine-list article > span.is-pending {
  background: #fff4d9;
  color: #8a5b00;
}

.pst-adoption-single {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 24px;
  margin-top: 28px;
}

.pst-adoption-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pst-adoption-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 12px;
  object-fit: cover;
}

.pst-adoption-gallery img:first-child:nth-last-child(odd) {
  grid-column: 1 / -1;
}

.pst-adoption-details {
  align-self: start;
  padding: 22px;
  border: 1px solid var(--pst-line);
  border-radius: var(--pst-radius);
  background: #fff;
}

.pst-adoption-details h2 {
  margin: 0 0 16px;
}

.pst-adoption-details dl {
  display: grid;
  gap: 0;
  margin: 0 0 20px;
}

.pst-adoption-details dl > div {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--pst-line);
}

.pst-adoption-details dt {
  color: var(--pst-muted);
  font-weight: 700;
}

.pst-adoption-details dd {
  margin: 0;
  color: var(--pst-ink);
}

.pst-adoption-safety {
  margin: 16px 0 0;
  padding: 13px;
  border-radius: 9px;
  background: #fff4d9;
  color: #674700;
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .pst-adoption-community {
    padding: 20px;
  }

  .pst-adoption-login,
  .pst-adoption-form,
  .pst-adoption-single {
    grid-template-columns: 1fr;
  }

  .pst-adoption-login > div:last-child,
  .pst-adoption-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .pst-adoption-login .pst-button,
  .pst-adoption-submit .pst-button {
    width: 100%;
    text-align: center;
  }

  .pst-adoption-form > label.is-wide,
  .pst-adoption-submit {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .pst-adoption-mine-list article {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .pst-adoption-mine-list img {
    width: 52px;
    height: 52px;
  }

  .pst-adoption-mine-list article > span {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .pst-adoption-gallery {
    grid-template-columns: 1fr;
  }

  .pst-adoption-gallery img:first-child:nth-last-child(odd) {
    grid-column: auto;
  }

  .pst-adoption-details dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}
