/**
 * PrintA2Z — site-wide responsive + image polish (all storefront pages)
 * Mobile-first: 576 / 768 / 992 / 1200
 * Loaded last so it wins over page CSS.
 */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.pa-body,
.pa-shop-body,
.pa-app-body,
.pa-catalog-body,
.pa-auth-body,
.pa-content-page {
  overflow-x: clip;
  max-width: 100vw;
}

/* —— Images (every page) —— */
.pa-body img,
.pa-shop-body img,
.pa-app-body img,
.pa-catalog-body img,
.pa-auth-body img,
.pa-content-page img,
.pa-prose img,
.pa-footer img,
.pa-upload-box img,
.pa-product-media img,
.pa-pdp-gallery img,
.pa-about-visual img,
.pa-cat-thumb img,
.pa-ecom-card-media img,
.pa-hero-slide img,
.pa-folio__stage img {
  max-width: 100%;
  height: auto;
}

/* Keep header / brand logo sharp — never stretch like product photos */
.pa-logo img,
.pa-logo__mark img,
.pa-logo svg,
.pa-footer-brand img,
img.pa-brand-logo,
.pa-logo img.pa-brand-logo,
.pa-logo img.pa-retina-img {
  width: auto !important;
  max-width: min(180px, 46vw) !important;
  height: 40px !important;
  max-height: 40px !important;
  min-height: 0 !important;
  object-fit: contain !important;
  image-rendering: auto;
  background: transparent !important;
}

.pa-media,
.pa-product-media,
.pa-pdp-gallery,
.pa-about-visual,
.pa-cat-thumb,
.pa-ecom-card-media,
.pa-folio__stage,
.pa-upload-box .preview,
.pa-dash-feat__media {
  overflow: hidden;
}

.pa-product-media,
.pa-pdp-gallery,
.pa-about-visual,
.pa-cat-thumb,
.pa-ecom-card-media {
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(21, 37, 54, 0.08);
}

.pa-product-media img,
.pa-pdp-gallery img,
.pa-cat-thumb img,
.pa-ecom-card-media img,
.pa-folio__stage img,
.pa-about-visual img {
  display: block;
  width: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
  backface-visibility: hidden;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.pa-product-hit:hover .pa-product-media img,
.pa-product-hit:focus-visible .pa-product-media img,
.pa-pdp-gallery:hover img,
.pa-cat-thumb:hover img,
.pa-ecom-card:hover .pa-ecom-card-media img,
.pa-media--zoom:hover img,
.pa-about-visual:hover img {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .pa-product-media img,
  .pa-pdp-gallery img,
  .pa-cat-thumb img,
  .pa-ecom-card-media img,
  .pa-about-visual img,
  .pa-media img {
    transition: none !important;
    transform: none !important;
  }
}

/* —— Containers —— */
:root {
  --pa-container-gutter: 1.5rem;
}

@media (max-width: 991.98px) {
  :root {
    --pa-container-gutter: 1.35rem;
  }
}

@media (max-width: 575.98px) {
  :root {
    --pa-container-gutter: 1.15rem;
  }
}

.pa-container,
.pa-catalog-page .pa-container,
.pa-shop-body .pa-container {
  width: min(var(--pa-container-max, 1600px), calc(100% - var(--pa-container-gutter, 1.5rem))) !important;
  max-width: var(--pa-container-max, 1600px) !important;
  margin-inline: auto !important;
  box-sizing: border-box;
  padding-inline: 0;
}

/* —— Header / subnav (base = mobile) —— */
.pa-header-inner,
.pa-promo-inner,
.pa-subnav__inner,
.pa-footer-grid {
  min-width: 0;
}

.pa-subnav__inner {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.15rem;
}

.pa-subnav__inner::-webkit-scrollbar {
  display: none;
}

.pa-subnav__item,
.pa-subnav__cta {
  flex: 0 0 auto;
}

.pa-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

.pa-search {
  min-width: 0;
  max-width: 100%;
}

/* —— Shop filters —— */
.pa-catalog-page .pa-shop-filters,
.pa-shop-filters__rail,
.pa-filter-chips {
  max-width: 100%;
}

.pa-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* —— Catalog / search grids —— */
.pa-catalog-grid,
.pa-catalog-page .pa-catalog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.pa-pdp {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
}

.pa-qty-pills {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.pa-pdp-spec-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.pa-upload-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* —— Checkout / cart —— */
.pa-checkout-layout,
.pa-cart-layout,
.pa-pay-layout,
.pa-custom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
}

.pa-checkout-table-wrap,
.pa-orders-table-wrap,
.pa-app-panel .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

/* —— Account dashboard —— */
.pa-dash-stats,
.pa-dash-grid,
.pa-dash-rail,
.pa-coins-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}

.pa-dash-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* —— Auth —— */
.pa-auth-shell,
.pa-container.pa-auth-shell {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1100px, calc(100% - var(--pa-container-gutter, 1rem))) !important;
  max-width: 1100px !important;
}

.pa-auth-fields-2 {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* —— Content / policies —— */
.pa-content-wrap {
  grid-template-columns: minmax(0, 1fr) !important;
}

.pa-contact-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.pa-prose {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.pa-prose table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* —— Home sections (safe overrides) —— */
.pa-studio-audience__grid,
.pa-studio-also__row,
.pa-studio-why__grid,
.pa-studio-files__layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Proof strip: 2×2 on phone/tablet, single row of 4 on desktop */
.pa-studio-proof__row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100%;
  min-width: 0;
}

.pa-studio-proof__item {
  min-width: 0 !important;
  border-right: 1px solid var(--pa-line, #d5dee8) !important;
  border-bottom: 1px solid var(--pa-line, #d5dee8) !important;
  padding: 1rem 0.9rem !important;
  text-align: left;
}

.pa-studio-proof__item:nth-child(2n) {
  border-right: 0 !important;
}

.pa-studio-proof__item:nth-child(n + 3) {
  border-bottom: 0 !important;
}

.pa-studio-proof__item strong {
  font-size: 0.9rem !important;
  line-height: 1.25;
}

.pa-studio-proof__item span {
  font-size: 0.8rem !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (min-width: 900px) {
  .pa-studio-proof__row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .pa-studio-proof__item {
    border-bottom: 0 !important;
    border-right: 1px solid var(--pa-line, #d5dee8) !important;
    padding: 1.15rem 0.85rem !important;
  }

  .pa-studio-proof__item:nth-child(2n) {
    border-right: 1px solid var(--pa-line, #d5dee8) !important;
  }

  .pa-studio-proof__item:last-child {
    border-right: 0 !important;
  }

  .pa-studio-proof__item strong {
    font-size: 0.95rem !important;
  }

  .pa-studio-proof__item span {
    font-size: 0.82rem !important;
  }
}

/* Catalog mosaic: keep home.css 2-col portal layout — do not force N equal columns */
.pa-studio-cats__grid {
  width: 100%;
  min-width: 0;
}

.pa-studio-head {
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

/* Artwork / files rows — never overflow the viewport */
.pa-studio-files,
.pa-studio-files__layout,
.pa-studio-files__list,
.pa-studio-files__copy {
  min-width: 0;
  max-width: 100%;
}

.pa-studio-files__list li {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.3rem 0.75rem !important;
  min-width: 0;
}

.pa-studio-files__list strong,
.pa-studio-files__list span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (min-width: 576px) {
  .pa-studio-files__list li {
    grid-template-columns: minmax(5.5rem, 7rem) minmax(0, 1fr) !important;
    align-items: baseline;
  }
}

/* ========== 576px+ ========== */
@media (min-width: 576px) {
  .pa-catalog-grid,
  .pa-catalog-page .pa-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem 1rem;
  }

  .pa-dash-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pa-studio-also__row,
  .pa-studio-why__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pa-auth-fields-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ========== 768px+ ========== */
@media (min-width: 768px) {
  .pa-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem;
  }

  .pa-qty-pills {
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)) !important;
  }

  .pa-upload-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .pa-dash-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pa-dash-grid,
  .pa-coins-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pa-checkout-layout,
  .pa-cart-layout,
  .pa-pay-layout,
  .pa-custom-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
    align-items: start;
  }

  .pa-studio-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pa-studio-files__layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) !important;
  }
}

/* ========== 992px+ ========== */
@media (min-width: 992px) {
  .pa-footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .pa-catalog-grid,
  .pa-catalog-page .pa-catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem 1.15rem;
  }

  .pa-pdp {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 1.75rem;
  }

  .pa-auth-shell,
  .pa-container.pa-auth-shell {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
  }

  .pa-content-wrap.has-aside {
    grid-template-columns: minmax(0, 1fr) 220px !important;
  }

  .pa-contact-grid {
    grid-template-columns: 0.9fr 1.1fr !important;
  }

  .pa-dash-grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
}

/* ========== 1200px+ ========== */
@media (min-width: 1200px) {
  .pa-catalog-grid,
  .pa-catalog-page .pa-catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.4rem 1.25rem;
  }

  .pa-studio-why__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .pa-studio-also__row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* —— About / content extras —— */
.pa-about-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
}

.pa-about-counters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.pa-about-points {
  display: grid;
  gap: 0.75rem;
}

/* —— Account / shop subnav scroll —— */
.pa-account-nav-inner,
.pa-subnav--account .pa-subnav__inner,
.pa-subnav--shop .pa-subnav__inner {
  display: flex;
  gap: 0.45rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  min-width: 0;
}

.pa-account-nav-inner::-webkit-scrollbar,
.pa-subnav--account .pa-subnav__inner::-webkit-scrollbar,
.pa-subnav--shop .pa-subnav__inner::-webkit-scrollbar {
  display: none;
}

.pa-account-nav a,
.pa-subnav__item,
.pa-subnav__cta {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* —— Shop filter rail (mobile) —— */
.pa-catalog-page .pa-shop-filters__rail {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.35rem;
  max-width: 100%;
}

.pa-catalog-page .pa-shop-filters__rail .pa-filter-group {
  flex: 0 0 auto;
  min-width: min(14rem, 78vw);
}

.pa-catalog-page .pa-shop-head__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  min-width: 0;
}

.pa-catalog-page .pa-catalog-search,
.pa-catalog-page .pa-filter-select {
  min-width: 0;
  max-width: 100%;
}

/* —— Checkout / cart media —— */
.pa-checkout .cart-image,
.pa-checkout .boxx .cart-image {
  max-width: 100%;
}

.pa-checkout .cart-image img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: cover;
}

.pa-checkout #order-detail,
.pa-checkout .table-responsive,
.pa-pay .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.pa-pay-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.pa-pay-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
}

.pa-checkout-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

/* —— Home hero / folio —— */
.pa-studio-hero__rail {
  min-width: 0;
  max-width: 100%;
}

.pa-studio-hero__cta,
.pa-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.pa-folio__stage {
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(21, 37, 54, 0.1);
}

.pa-folio__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* —— Reviews / related —— */
.pa-reviews-grid,
.pa-related-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}

/* —— Forms —— */
.pa-app-main input,
.pa-app-main select,
.pa-app-main textarea,
.pa-content-page input,
.pa-content-page select,
.pa-content-page textarea,
.pa-auth-body input,
.pa-auth-body select,
.pa-auth-body textarea,
.pa-checkout input,
.pa-checkout select,
.pa-checkout textarea,
.pa-pay input,
.pa-pay select,
.pa-pay textarea {
  max-width: 100%;
  box-sizing: border-box;
}

/* —— Account pages —— */
.pa-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
}

.pa-od__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.pa-od__files .thumb,
.pa-od .thumb {
  max-width: 100%;
}

.pa-od .thumb img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

@media (min-width: 768px) {
  .pa-od__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .pa-profile-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  }
}

/* Profile: tighten account shell + subnav on phones */
@media (max-width: 767.98px) {
  .pa-app-section:has(.pa-profile) {
    padding-top: 0.85rem;
    padding-bottom: 2rem;
  }

  .pa-subnav--account .pa-subnav__inner {
    gap: 0.3rem;
    padding-block: 0.45rem;
  }

  .pa-subnav--account .pa-subnav__item {
    min-height: 2.5rem;
    padding-inline: 0.75rem;
    font-size: 0.82rem;
  }

  .pa-subnav--account .pa-subnav__cta {
    margin-left: 0.25rem;
  }

  .pa-profile__head h1 {
    font-size: clamp(1.4rem, 6vw, 1.85rem);
  }

  .pa-profile__tab {
    min-height: 2.5rem;
    font-size: 0.82rem;
  }
}

@media (max-width: 575.98px) {
  .pa-app-panel:has(.pa-profile),
  .pa-body:has(.pa-profile) .pa-app-panel {
    padding-left: 0;
    padding-right: 0;
  }

  .pa-profile-company {
    font-size: 1.12rem;
  }
}

/* Touch targets / spacing on small screens */
@media (max-width: 899.98px) {
  .pa-header-shop .pa-header-actions {
    gap: 0.2rem 0.45rem !important;
  }

  .pa-header-shop .pa-header-register {
    display: none !important;
  }

  .pa-header-signin {
    min-height: 44px;
    padding-inline: 0.55rem;
    font-size: 0.88rem;
  }

  .pa-menu-toggle,
  .pa-header-shop .pa-icon-btn {
    min-width: 44px;
    min-height: 44px;
  }

  .pa-promo-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }

  .pa-promo-left {
    width: 100%;
    gap: 0.35rem 0.65rem;
    font-size: 0.78rem;
  }

  .pa-promo-cta {
    white-space: normal;
    font-size: 0.8rem;
    line-height: 1.3;
  }

  .pa-studio-hero__stage {
    min-height: min(68vh, 540px) !important;
  }

  .pa-studio-hero__copy {
    width: min(100% - 1.25rem, 36rem) !important;
    margin-left: 0.65rem !important;
    margin-right: 0.65rem !important;
    padding-bottom: 4.5rem !important;
  }

  .pa-studio-finish {
    padding: 1.1rem 1rem !important;
  }

  .pa-studio-finishes__grid {
    gap: 0.85rem !important;
  }

  .pa-content-hero,
  .pa-content-body,
  .pa-prose,
  .pa-about-page .pa-container {
    padding-inline: 0;
  }

  .pa-display {
    font-size: clamp(1.55rem, 6.5vw, 2.1rem) !important;
    overflow-wrap: anywhere;
  }

  .pa-studio-lead,
  .pa-content-lead,
  .pa-prose p {
    max-width: none;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 575.98px) {
  .pa-app-panel,
  .pa-prose,
  .pa-auth-panel,
  .pa-checkout .boxx,
  .pa-pay {
    padding-left: max(0.15rem, env(safe-area-inset-left));
    padding-right: max(0.15rem, env(safe-area-inset-right));
  }

  .pa-btn,
  .pa-product-cta,
  .pa-btn-primary,
  .pa-btn-cart,
  .pa-btn-order,
  .pa-header-register,
  .pa-search button {
    min-height: 44px;
  }

  .pa-pdp-actions,
  .pa-studio-hero__cta,
  .pa-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .pa-pdp-actions .pa-btn-cart,
  .pa-pdp-actions .pa-btn-order,
  .pa-sets-field,
  .pa-studio-hero__cta .pa-btn,
  .pa-cta-row .pa-btn {
    width: 100%;
  }

  .pa-promo-chip {
    font-size: 0.62rem;
    padding: 0.15rem 0.45rem;
  }

  .pa-promo-dot {
    display: none;
  }

  .pa-checkout-steps {
    font-size: 0.78rem;
  }

  .pa-about-badge {
    left: 0.65rem;
    bottom: 0.65rem;
    font-size: 0.78rem;
    padding: 0.45rem 0.75rem;
  }

  .pa-studio-files__list li {
    padding: 0.9rem 0 !important;
  }

  .pa-studio-cats {
    padding-top: 2rem;
  }

  .pa-studio-head .pa-text-link {
    white-space: normal;
  }
}

/* Desktop: keep Register clear of floating chat widgets */
@media (min-width: 900px) {
  .pa-header-shop .pa-header-actions {
    padding-inline-end: 0.35rem;
    gap: 0.55rem 0.75rem;
  }

  .pa-header-register {
    margin-inline-end: 0.15rem;
  }
}

@media (min-width: 576px) {
  .pa-reviews-grid,
  .pa-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .pa-about-split {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: start;
    gap: 1.75rem;
  }

  .pa-about-counters {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .pa-pay-hero {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.9fr);
  }

  .pa-catalog-page .pa-shop-filters__rail {
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .pa-catalog-page .pa-shop-filters__rail .pa-filter-group {
    min-width: 0;
    flex: 1 1 12rem;
  }
}

@media (min-width: 992px) {
  .pa-reviews-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pa-related-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* =========================================================
   Cross-check pass — phone / tablet / laptop polish
   ========================================================= */

/* Contain scaled hero/cat images so they never poke past the viewport */
.pa-studio-hero__stage,
.pa-studio-hero__slides,
.pa-hero-slide,
.pa-studio-cat__media,
.pa-folio__stage,
.pa-folio__media {
  overflow: hidden !important;
  max-width: 100%;
}

.pa-studio-hero,
.pa-studio-cats,
.pa-studio-featured,
.pa-studio-finishes,
.pa-studio-files,
.pa-studio-also,
.pa-studio-why,
.pa-studio-support,
.pa-studio-flow,
.pa-studio-audience {
  max-width: 100%;
  min-width: 0;
}

/* —— ≤899px: phone + tablet portrait —— */
@media (max-width: 899.98px) {
  /* Header: more breathing room between logo and actions */
  .pa-logo img,
  .pa-logo__mark img,
  img.pa-brand-logo,
  .pa-logo img.pa-brand-logo,
  .pa-logo img.pa-retina-img {
    max-width: min(148px, 38vw) !important;
    height: 36px !important;
    max-height: 36px !important;
  }

  .pa-header-shop .pa-header-inner {
    gap: 0.5rem 0.65rem !important;
    min-height: 3.5rem;
    padding-block: 0.55rem !important;
  }

  .pa-header-signin {
    padding-inline: 0.4rem;
  }

  /* Promo bar readable + stack */
  .pa-promo-bar {
    font-size: 0.75rem;
    padding: 0.4rem 0;
  }

  .pa-promo-chip {
    letter-spacing: 0.06em;
  }

  /* Hero: shorter stage, contained ken-burns, stronger veil for type */
  .pa-studio-hero__stage {
    min-height: min(62vh, 520px) !important;
  }

  .pa-hero-slide img,
  .pa-hero-slide.is-active img {
    transform: none !important;
    object-position: center center !important;
  }

  .pa-studio-cat__media img,
  .pa-studio-cat:hover .pa-studio-cat__media img,
  .pa-studio-cat:focus-visible .pa-studio-cat__media img {
    transform: scale(1.06) !important;
  }

  .pa-studio-hero__veil {
    background:
      linear-gradient(
        180deg,
        rgba(5, 9, 14, 0.72) 0%,
        rgba(5, 9, 14, 0.42) 28%,
        rgba(5, 9, 14, 0.35) 52%,
        rgba(5, 9, 14, 0.82) 100%
      ),
      linear-gradient(
        90deg,
        rgba(5, 9, 14, 0.7) 0%,
        rgba(5, 9, 14, 0.35) 55%,
        rgba(5, 9, 14, 0.45) 100%
      ) !important;
  }

  .pa-studio-hero__copy {
    width: min(100% - 1.35rem, 36rem) !important;
    margin-left: 0.7rem !important;
    margin-right: 0.7rem !important;
    padding-top: 4.25rem !important;
    padding-bottom: 5.25rem !important;
  }

  .pa-studio-hero__brand-mark {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
  }

  .pa-studio-hero__title {
    font-size: clamp(1.35rem, 5.5vw, 1.75rem) !important;
    max-width: none !important;
  }

  .pa-studio-hero__lead {
    font-size: 0.95rem !important;
    margin-top: 0.85rem !important;
  }

  .pa-studio-path {
    margin-top: 1.25rem !important;
    padding-top: 1rem !important;
    gap: 0.35rem 0.55rem !important;
  }

  .pa-studio-path__link {
    font-size: 0.88rem !important;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }

  .pa-studio-path__link + .pa-studio-path__link::before {
    margin-right: 0.45rem !important;
  }

  .pa-studio-hero__bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
    padding: 0.85rem 0.9rem 1rem !important;
  }

  .pa-studio-hero__nav {
    justify-content: space-between;
    width: 100%;
  }

  .pa-hero-nav {
    width: 2.6rem !important;
    height: 2.6rem !important;
  }

  .pa-hero-dot {
    width: 0.55rem !important;
    height: 0.55rem !important;
  }

  /* Featured folio overlays stay inside */
  .pa-folio__copy,
  .pa-folio__nav,
  .pa-folio__count {
    max-width: calc(100% - 1.5rem);
  }

  .pa-folio__stage {
    min-height: min(48vh, 380px) !important;
  }

  /* Shop: comfortable filter chips */
  .pa-chip-btn,
  .pa-filter-chips .pa-chip-btn,
  .pa-subnav__item {
    min-height: 40px;
  }

  .pa-shop-head h1,
  #paCatalogTitle {
    font-size: clamp(1.45rem, 6vw, 1.85rem) !important;
    overflow-wrap: anywhere;
  }

  .pa-catalog-search {
    width: 100%;
    max-width: none;
  }

  /* Auth / content */
  .pa-auth-panel,
  .pa-content-hero,
  .pa-content-wrap {
    min-width: 0;
  }

  .pa-auth-panel h1,
  .pa-content-hero h1 {
    overflow-wrap: anywhere;
  }
}

/* —— ≤575px: small phones —— */
@media (max-width: 575.98px) {
  .pa-logo img,
  .pa-logo__mark img,
  img.pa-brand-logo,
  .pa-logo img.pa-brand-logo,
  .pa-logo img.pa-retina-img {
    max-width: min(128px, 34vw) !important;
    height: 34px !important;
    max-height: 34px !important;
  }

  /* Sign-in as icon-friendly shorter label space */
  .pa-header-actions {
    gap: 0.15rem 0.35rem !important;
  }

  .pa-studio-hero__stage {
    min-height: min(58vh, 460px) !important;
  }

  .pa-studio-hero__cta .pa-btn,
  .pa-studio-hero .pa-cta-row .pa-btn {
    width: 100%;
    justify-content: center;
  }

  .pa-studio-proof__item {
    padding: 0.9rem 0.7rem !important;
  }

  .pa-studio-proof__item strong {
    font-size: 0.84rem !important;
  }

  .pa-studio-proof__item span {
    font-size: 0.74rem !important;
  }

  .pa-studio-finish h3 {
    font-size: 1.05rem !important;
  }

  .pa-studio-finish p {
    font-size: 0.9rem !important;
  }

  .pa-studio-support__inner .pa-btn,
  .pa-studio-cta .pa-btn {
    width: 100%;
  }

  .pa-footer-grid {
    gap: 1.25rem !important;
  }

  .pa-product-title {
    font-size: 1rem !important;
  }

  .pa-product-meta,
  .pa-product-body .pa-product-meta {
    font-size: 0.82rem !important;
    overflow-wrap: anywhere;
  }
}

/* —— 576–899: large phones / small tablets —— */
@media (min-width: 576px) and (max-width: 899.98px) {
  .pa-studio-hero__stage {
    min-height: min(64vh, 560px) !important;
  }

  .pa-studio-hero__bar {
    flex-direction: row !important;
    align-items: center !important;
  }

  .pa-studio-hero__nav {
    width: auto;
  }

  .pa-studio-finishes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pa-studio-cats__grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* —— 900–1199: laptop without huge gutters —— */
@media (min-width: 900px) and (max-width: 1199.98px) {
  :root {
    --pa-container-gutter: 1.75rem;
  }

  .pa-search {
    max-width: 320px;
  }

  .pa-header-shop .pa-header-inner {
    gap: 0.75rem 1rem;
  }

  .pa-studio-hero__copy {
    width: min(34rem, calc(100% - 3rem));
  }
}

/* —— ≥1200: generous desktop —— */
@media (min-width: 1200px) {
  :root {
    --pa-container-gutter: 2rem;
  }

  .pa-search {
    max-width: 440px;
  }
}

