/* Phone Shop Bristol Pro v6.8.0: reversible, selector-scoped visual corrections. */
body.theme-phoneshopbristol-pro .psb-main,
body.theme-phoneshopbristol-pro .psb-shop-results,
body.theme-phoneshopbristol-pro .psb-product-body,
body.theme-phoneshopbristol-pro .psb-shop-layout > * {
  min-width: 0;
}
body.theme-phoneshopbristol-pro .psb-wc-container,
body.theme-phoneshopbristol-pro .psb-shop-main .psb-container {
  box-sizing: border-box;
  max-width: 1440px;
  width: min(100% - 48px, 1440px);
  margin-inline: auto;
}
body.theme-phoneshopbristol-pro .psb-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  align-items: stretch;
  gap: 20px;
}
body.theme-phoneshopbristol-pro .psb-archive-grid > article.psb-product-card:first-child {
  grid-column: auto;
  grid-row: auto;
}
body.theme-phoneshopbristol-pro .psb-product-card { min-width: 0; }
body.theme-phoneshopbristol-pro .psb-product-card .psb-product-body h2,
body.theme-phoneshopbristol-pro .psb-product-card .psb-product-body h2 a {
  color: #202936;
  overflow-wrap: anywhere;
}
body.theme-phoneshopbristol-pro .psb-product-image {
  display: grid;
  place-items: center;
  overflow: hidden;
}
body.theme-phoneshopbristol-pro .psb-product-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
body.theme-phoneshopbristol-pro .psb-shop-hero > img,
body.theme-phoneshopbristol-pro .psb-hero-media > img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
/* Readable secondary information and clearly visible focus states. */
body.theme-phoneshopbristol-pro .psb-shop-description,
body.theme-phoneshopbristol-pro .psb-shop-hero-copy p,
body.theme-phoneshopbristol-pro .psb-category-intro p,
body.theme-phoneshopbristol-pro .psb-product-card .psb-card-disclaimer,
body.theme-phoneshopbristol-pro .psb-product-card .psb-product-meta,
body.theme-phoneshopbristol-pro .psb-shop-result-head small,
body.theme-phoneshopbristol-pro .psb-product-card .psb-card-facts {
  color: #394454;
}
body.theme-phoneshopbristol-pro a:focus-visible,
body.theme-phoneshopbristol-pro button:focus-visible,
body.theme-phoneshopbristol-pro input:focus-visible,
body.theme-phoneshopbristol-pro select:focus-visible {
  outline: 3px solid #c84b08;
  outline-offset: 3px;
}
body.theme-phoneshopbristol-pro .psb-product-actions a,
body.theme-phoneshopbristol-pro .psb-card-actions a { min-height: 44px; }
@media (max-width: 1050px) {
  body.theme-phoneshopbristol-pro .psb-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  body.theme-phoneshopbristol-pro .psb-wc-container,
  body.theme-phoneshopbristol-pro .psb-shop-main .psb-container { width: calc(100% - 32px); }
}
@media (max-width: 620px) {
  body.theme-phoneshopbristol-pro .psb-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.theme-phoneshopbristol-pro .psb-wc-container,
  body.theme-phoneshopbristol-pro .psb-shop-main .psb-container { width: calc(100% - 24px); }
  body.theme-phoneshopbristol-pro .psb-product-card .psb-product-body { padding: 12px; }
  body.theme-phoneshopbristol-pro .psb-product-card .psb-product-body h2 { font-size: 0.95rem; line-height: 1.35; }
  body.theme-phoneshopbristol-pro .psb-product-actions { display: flex; flex-direction: column; gap: 8px; }
  body.theme-phoneshopbristol-pro .psb-product-actions > a { box-sizing: border-box; width: 100%; text-align: center; }
}
@media (max-width: 390px) {
  body.theme-phoneshopbristol-pro .psb-archive-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-phoneshopbristol-pro .psb-product-card,
  body.theme-phoneshopbristol-pro .psb-product-image img { transition: none; }
}
