/*
 * ParishMart visual skin inspired by the Vercel prototype.
 * Kept separate from Martfury compiled CSS so it can be reviewed or rolled back cleanly.
 */

:root {
  --pm-navy: #0b3454;
  --pm-navy-deep: #082843;
  --pm-blue: #057ea2;
  --pm-cyan: #45b1e1;
  --pm-soft: #eef8fb;
  --pm-ink: #102a43;
  --pm-muted: #64748b;
  --pm-border: #dbeafe;
  --pm-font-segoe: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --pm-font-inter: Inter, var(--pm-font-segoe);
  --pm-font-sans: var(--pm-font-segoe);
  --primary-font: var(--pm-font-sans);
  --pm-card-radius: 24px;
  --pm-pill-radius: 999px;
  --pm-card-shadow: 0 18px 50px rgba(2, 80, 110, 0.08);
  --pm-soft-shadow: 0 12px 32px rgba(5, 126, 162, 0.10);
}

/* Home hero replacement for the old home-slider shortcode. */
.pm-home-hero {
  box-sizing: border-box !important;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding: 32px 16px !important;
  color: var(--pm-ink);
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

.pm-home-hero *,
.pm-home-hero *::before,
.pm-home-hero *::after {
  box-sizing: border-box !important;
}

.pm-home-hero > .grid {
  display: grid !important;
  gap: 32px !important;
  min-width: 0 !important;
}

.pm-home-hero > .grid > *,
.pm-home-hero > .mt-8 {
  min-width: 0 !important;
  max-width: 100% !important;
}

.pm-home-hero .grid {
  display: grid !important;
}

.pm-home-hero .flex {
  display: flex !important;
}

.pm-home-hero .items-center {
  align-items: center;
}

.pm-home-hero .flex-wrap {
  flex-wrap: wrap;
}

.pm-home-hero .gap-2 {
  gap: 8px;
}

.pm-home-hero .gap-3 {
  gap: 12px !important;
}

.pm-home-hero .relative {
  position: relative;
}

.pm-home-hero .absolute {
  position: absolute;
}

.pm-home-hero .inset-0 {
  inset: 0;
}

.pm-home-hero .left-4 {
  left: 16px;
}

.pm-home-hero .top-4 {
  top: 16px;
}

.pm-home-hero .overflow-hidden {
  overflow: hidden;
}

.pm-home-hero .h-full {
  height: 100%;
}

.pm-home-hero .w-full {
  width: 100%;
}

.pm-home-hero .object-cover {
  object-fit: cover;
}

.pm-home-hero .shrink-0 {
  flex-shrink: 0;
}

.pm-home-hero .pointer-events-none {
  pointer-events: none;
}

.pm-home-hero .truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-home-hero .pm-kicker {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-blue);
  background: #e9f8ff;
  font-family: var(--pm-font-sans) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 18px;
}

.pm-home-hero h1 {
  margin: 16px 0 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: clamp(48px, 5vw, 64px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 65.7px !important;
}

.pm-home-hero h1 .pm-gradient-text {
  display: inline !important;
  font-family: inherit !important;
  font-weight: 800 !important;
  letter-spacing: inherit !important;
  position: relative !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.pm-home-hero h1 .pm-gradient-text:first-of-type {
  top: 0.75px !important;
}

.pm-home-hero h1 .pm-gradient-text:nth-of-type(2) {
  top: -0.75px !important;
}

.pm-home-hero p {
  margin-bottom: 0 !important;
  font-family: var(--pm-font-sans) !important;
  line-height: 1.5 !important;
}

.pm-home-hero > .grid > div:first-child p {
  font-family: var(--pm-font-sans) !important;
}

.pm-home-hero .mt-3 {
  margin-top: 12px !important;
}

.pm-home-hero .mt-5 {
  margin-top: 20px !important;
}

.pm-home-hero .mt-6 {
  margin-top: 24px !important;
}

.pm-home-hero .mt-8 {
  margin-top: 32px !important;
}

.pm-home-hero .max-w-xl {
  max-width: 576px;
}

.pm-home-hero .text-base {
  font-size: 16px !important;
}

.pm-home-hero .text-sm {
  font-size: 14px !important;
}

.pm-home-hero .text-xs {
  font-size: 12px !important;
}

.pm-home-hero .font-medium {
  font-weight: 500 !important;
}

.pm-home-hero .font-bold {
  font-weight: 700 !important;
}

.pm-home-hero .font-extrabold {
  font-weight: 800 !important;
}

.pm-home-hero .text-pm-navy {
  color: var(--pm-navy) !important;
}

.pm-home-hero .text-pm-muted {
  color: var(--pm-muted) !important;
}

.pm-home-hero .text-pm-ink {
  color: var(--pm-ink) !important;
}

.pm-home-hero .text-pm-blue {
  color: var(--pm-blue) !important;
}

.pm-home-hero form[role="search"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100%;
  max-width: 100%;
  min-width: 0 !important;
  min-height: 54px;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
  padding: 6px 12px !important;
  margin-bottom: 0 !important;
}

.pm-home-hero form[role="search"]:focus-within {
  border-color: var(--pm-blue);
}

.pm-home-hero form[role="search"] svg {
  width: 20px;
  height: 20px;
  margin-left: 4px;
}

.pm-home-hero .pm-input {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  border: 0 !important;
  outline: 0 !important;
  color: var(--pm-ink) !important;
  background: transparent !important;
  padding: 0 4px !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 15px !important;
  line-height: 21.4286px !important;
  box-shadow: none !important;
}

.pm-home-hero .pm-input::placeholder {
  color: #526b89;
}

.pm-home-hero .pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: var(--pm-pill-radius);
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
  text-decoration: none;
  white-space: nowrap;
  font-family: var(--pm-font-sans) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.pm-home-hero .pm-btn:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.pm-home-hero .pm-btn-primary {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
}

.pm-home-hero .pm-btn-secondary {
  color: var(--pm-blue) !important;
  background: #ffffff;
  border-color: var(--pm-border);
}

.pm-home-hero .pm-btn-ghost {
  color: var(--pm-blue) !important;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.pm-home-hero .pm-btn.\!px-5 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.pm-home-hero .pm-btn.\!px-4 {
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.pm-home-hero .pm-btn.\!py-2 {
  min-height: 38px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  line-height: 20px !important;
}

.pm-home-hero .pm-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--pm-card-shadow);
}

.pm-home-hero > .grid > .pm-card {
  padding: 12px !important;
}

.pm-home-hero [data-photo="church"] {
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
}

.pm-home-hero [data-photo="church"] img {
  display: block;
}

.pm-home-hero .bg-gradient-to-t {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), transparent 58%);
}

.pm-home-hero .pm-label {
  display: block !important;
  padding: 4px 10px !important;
  color: var(--pm-blue);
  background: rgba(255, 255, 255, 0.85) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 16.5px !important;
}

.pm-home-hero .space-y-3 {
  padding: 16px !important;
}

.pm-home-hero .space-y-3 > * + * {
  margin-top: 12px;
}

.pm-home-hero .space-y-3 > p {
  line-height: 20px !important;
}

.pm-home-hero h3 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 24px;
  font-weight: 800;
  line-height: 32px !important;
}

.pm-home-hero .grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pm-home-hero .pt-2 {
  padding-top: 8px;
}

.pm-home-hero .pt-1 {
  padding-top: 4px;
}

.pm-home-hero .rounded-2xl {
  border-radius: 16px;
}

.pm-home-hero .rounded-full {
  border-radius: var(--pm-pill-radius) !important;
}

.pm-home-hero .border {
  border: 1px solid var(--pm-border) !important;
}

.pm-home-hero .border-pm-border {
  border-color: var(--pm-border) !important;
}

.pm-home-hero .bg-white {
  background: #ffffff;
}

.pm-home-hero .p-3 {
  padding: 12px !important;
}

.pm-home-hero .px-4 {
  padding-right: 16px;
  padding-left: 16px;
}

.pm-home-hero .py-3 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.pm-home-hero .uppercase {
  text-transform: uppercase;
}

.pm-home-hero .tracking-wider {
  letter-spacing: 0.05em;
}

.pm-home-hero .text-\[10px\] {
  font-size: 10px;
}

.pm-home-hero .text-2xl {
  font-size: 24px;
}

.pm-home-hero .place-items-center {
  place-items: center;
}

.pm-home-hero .h-9 {
  height: 36px;
}

.pm-home-hero .w-9 {
  width: 36px;
}

.pm-home-hero .bg-emerald-50 {
  background: #ecfdf5;
}

.pm-home-hero .bg-emerald-500 {
  background: #10b981;
}

.pm-home-hero .animate-pulse {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  animation: pm-hero-pulse 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pm-hero-pulse {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.45;
  }
}

@media (min-width: 640px) {
  .pm-home-hero {
    padding: 48px 24px !important;
  }

  .pm-home-hero .sm\:text-sm {
    font-size: 14px;
  }
}

@media (min-width: 768px) {
  .pm-home-hero > .grid {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 40px !important;
  }
}

@media (max-width: 767px) {
  .pm-home-hero {
    overflow-x: hidden !important;
  }

  .pm-home-hero > .grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pm-home-hero h1 {
    font-size: 36px !important;
    line-height: 1.12 !important;
  }

  .pm-home-hero .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .pm-home-hero form[role="search"] {
    align-items: stretch;
    border-radius: 24px;
    flex-wrap: wrap;
    width: 100% !important;
    max-width: 100% !important;
  }

  .pm-home-hero form[role="search"] .pm-btn {
    width: 100%;
  }

  .pm-home-hero .mt-5.flex {
    gap: 12px !important;
  }

  .pm-home-hero .pm-btn {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .pm-home-hero .pm-btn-ghost {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--pm-font-sans) !important;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  background:
    radial-gradient(1200px 600px at 80% -10%, #d6f0fb 0%, transparent 60%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 35%, #eef8fb 100%);
  color: var(--pm-ink);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  font-synthesis-weight: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.title_site,
.ps-section__title,
.ps-product__title,
.ps-product__price,
.pm-site-header__nav a,
.pm-site-header__menu-list a,
.pm-ecosystem,
.ps-btn,
.btn {
  font-family: var(--pm-font-sans) !important;
}

/* Header system: align Martfury headers with the Vercel prototype. */
.user-bar-container {
  display: none !important;
}

.header.header--1 {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(219, 234, 254, 0.82);
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 10px 30px rgba(2, 80, 110, 0.05);
  backdrop-filter: blur(18px);
}

.header.header--1 .header__top {
  border: 0 !important;
  background: transparent !important;
}

.header.header--1 .header__top .ps-container,
.header.header--1 .navigation .ps-container {
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

.header.header--1 .header__top .ps-container {
  display: flex;
  min-height: 68px;
  align-items: center;
  gap: 18px;
}

.header.header--1 .header__left {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  max-width: none;
}

.header.header--1 .ps-logo {
  display: inline-flex;
  align-items: center;
}

.header.header--1 .ps-logo img,
.header--mobile .ps-logo img {
  height: 40px !important;
  max-height: 40px !important;
  width: auto;
}

.header.header--1 .header__left .menu--product-categories {
  position: relative;
  width: 42px;
  height: 42px;
  margin: 0;
}

.header.header--1 .header__left .menu--product-categories .menu__toggle {
  display: grid;
  width: 42px;
  height: 42px;
  min-height: 0;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 50%;
  background: #ffffff;
  color: var(--pm-navy);
}

.header.header--1 .header__left .menu--product-categories .menu__toggle span,
.header.header--1 .header__left .menu--product-categories .menu__toggle::before {
  display: none !important;
}

.header.header--1 .header__left .menu--product-categories .menu__toggle i {
  margin: 0;
  color: var(--pm-navy) !important;
  font-size: 18px;
}

.header.header--1 .header__center {
  flex: 1 1 440px;
  min-width: 260px;
  max-width: 560px;
}

.header.header--1 .header__right {
  flex: 0 0 auto;
  margin-left: auto;
}

.header.header--1 .header__actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.header .header__extra,
.header .ps-block--user-header .ps-block__left,
.header--mobile .ps-block--user-header .ps-block__left {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 50%;
  background: #ffffff;
  color: var(--pm-navy) !important;
  line-height: 1;
}

.header .header__extra > i,
.header--mobile .header__actions i,
.header--mobile .ps-block--user-header i {
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.header .header__extra span,
.header--mobile .header__extra span {
  right: -4px !important;
  bottom: -4px !important;
  display: grid !important;
  min-width: 20px !important;
  height: 20px !important;
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
}

.header .header__extra span i,
.header--mobile .header__extra span i {
  color: #ffffff !important;
  font-size: 10px !important;
  font-style: normal;
  font-weight: 800;
}

.header .ps-block--user-header {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.header .ps-block--user-header .ps-block__right {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.header .ps-block--user-header .ps-block__right a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 8px 11px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  font-size: 13px;
  font-weight: 800;
}

.header .ps-block--user-header .ps-block__right a:hover,
.header .header__extra:hover,
.header.header--1 .header__left .menu--product-categories .menu__toggle:hover {
  border-color: var(--pm-blue);
  color: var(--pm-blue) !important;
}

.header.header--1 .navigation {
  border: 0 !important;
  background: transparent !important;
}

.header.header--1 .navigation .ps-container {
  display: flex;
  min-height: 46px;
  align-items: center;
}

.header.header--1 .navigation__left {
  display: none !important;
}

.header.header--1 .navigation__right {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.header.header--1 .navigation__right > .menu {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.header.header--1 .navigation__right > .menu > li > a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 8px 13px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

.header.header--1 .navigation__right > .menu > li > a:hover,
.header.header--1 .navigation__right > .menu > li.current-menu-item > a {
  color: var(--pm-navy) !important;
  background: var(--pm-soft);
}

.header.header--1 .navigation__extra {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.header.header--1 .navigation__extra > li {
  margin: 0 !important;
}

.header.header--1 .navigation__extra > li::after {
  display: none !important;
}

.header.header--1 .navigation__extra > li > a,
.header.header--1 .navigation__extra .ps-dropdown > a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  color: var(--pm-navy) !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.header.header--1 .navigation__extra > li:last-child > a {
  color: #ffffff !important;
  border-color: transparent;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 12px 28px rgba(5, 126, 162, 0.20);
}

.header--mobile {
  position: sticky;
  top: 0;
  z-index: 60;
  border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 30px rgba(2, 80, 110, 0.05);
  backdrop-filter: blur(18px);
}

.header--mobile .navigation--mobile {
  min-height: 64px;
  padding: 10px 14px;
  background: transparent !important;
}

.header--mobile .header__actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.header--mobile .ps-search--mobile {
  padding: 0 14px 12px;
  background: transparent !important;
}

.header--mobile .ps-search--mobile .form-group--nest {
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.header--mobile .ps-search--mobile input.form-control {
  min-height: 42px;
  border: 0 !important;
}

.header--mobile .ps-search--mobile button {
  width: 42px;
  color: var(--pm-navy);
  background: transparent;
}

.navigation--list {
  display: none !important;
  border-top: 1px solid rgba(219, 234, 254, 0.88);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -10px 26px rgba(2, 80, 110, 0.08);
  backdrop-filter: blur(18px);
}

.navigation--list .navigation__item {
  color: var(--pm-muted) !important;
  font-size: 11px;
  font-weight: 800;
}

.navigation--list .navigation__item i {
  color: var(--pm-navy) !important;
  font-size: 19px;
}

.navigation--list .navigation__item:hover,
.navigation--list .navigation__item:hover i {
  color: var(--pm-blue) !important;
}

.header.header--product {
  position: sticky;
  top: 0;
  z-index: 55;
  border-bottom: 1px solid #cfe4f5;
  background: #f6fcff !important;
  box-shadow: 0 14px 34px rgba(2, 80, 110, 0.10);
  backdrop-filter: blur(18px);
}

.header.header--product.header--sticky {
  background: #f6fcff !important;
}

.header.header--product .navigation {
  min-height: 74px;
  border: 0 !important;
  background: #f6fcff !important;
}

.header.header--product .ps-container {
  max-width: 1320px;
  padding-right: 24px;
  padding-left: 24px;
}

.header.header--product .pm-product-sticky-bar {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 74px;
  align-items: center;
  gap: 18px;
  padding: 8px 0;
}

.header.header--product .pm-product-sticky-store {
  display: inline-grid;
  width: 58px;
  height: 58px;
  min-width: 58px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #ffffff;
  color: var(--pm-blue) !important;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(2, 80, 110, 0.08);
}

.header.header--product .pm-product-sticky-store img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 5px;
  object-fit: contain;
}

.header.header--product .pm-product-sticky-inline {
  display: grid;
  width: 100%;
  min-width: 0;
  height: 58px;
  align-items: center;
  grid-template-columns: 46px minmax(0, 1fr) auto auto;
  column-gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
}

.header.header--product .pm-product-sticky-bar > .pm-product-sticky-inline:first-child {
  grid-column: 1 / -1;
}

.header.header--product .pm-product-sticky-thumb {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 14px;
  background: #ffffff;
  align-self: center;
}

.header.header--product .pm-product-sticky-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header.header--product .pm-product-sticky-title {
  display: block;
  overflow: hidden;
  min-width: 0;
  max-width: 560px;
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-self: center;
}

.header.header--product .pm-product-sticky-price {
  display: inline-flex;
  height: 46px;
  align-items: center;
  color: var(--pm-navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  align-self: center;
}

.header.header--product .pm-product-sticky-price span,
.header.header--product .pm-product-sticky-price del {
  display: inline-block;
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
}

.header.header--product .pm-product-sticky-price del {
  margin-left: 8px !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  text-decoration: line-through;
}

.header.header--product .pm-product-sticky-button {
  display: inline-flex;
  min-width: 122px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 10px 18px;
  line-height: 1;
  align-self: center;
}

.header.header--product .ps-product--header-sticky {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 0;
}

.header.header--product .ps-product--header-sticky .ps-product__thumbnail {
  width: 46px;
  height: 46px;
  overflow: hidden;
  flex: 0 0 46px;
  border: 1px solid var(--pm-border);
  border-radius: 14px;
  background: #ffffff;
}

.header.header--product .ps-product--header-sticky .ps-product__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.header.header--product .ps-product--header-sticky .ps-product__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  align-items: center;
  gap: 28px;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.header.header--product .ps-product--header-sticky .ps-product__content {
  display: flex;
  height: 46px;
  align-items: center;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.header.header--product .ps-product--header-sticky .ps-product__title {
  display: block;
  overflow: hidden;
  max-width: 520px;
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.header.header--product .ps-product--header-sticky .ps-product__shopping {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 22px;
  height: 46px;
  margin: 0 !important;
  padding: 0 !important;
}

.header.header--product .ps-product--header-sticky .ps-product__price {
  display: inline-flex;
  height: 46px;
  align-items: center;
  color: var(--pm-navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  margin: 0 !important;
}

.header.header--product .ps-product--header-sticky .ps-btn {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  font-size: 13px;
  line-height: 1;
}

.header--mobile-product .navigation--mobile {
  min-height: 58px;
}

.header--mobile-product .header__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  color: var(--pm-navy) !important;
  font-size: 13px;
  font-weight: 800;
}

.header--mobile-product .header__back i {
  color: var(--pm-blue) !important;
}

.store-identity-shell {
  background: linear-gradient(180deg, #f6fcff 0%, #ffffff 100%);
}

.store-identity-hero {
  padding: 14px 0 54px !important;
  background: transparent !important;
}

.store-identity-hero__content {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px;
}

.store-identity-hero__brand {
  color: var(--pm-navy) !important;
}

.store-identity-hero__logo {
  width: 58px !important;
  height: 58px !important;
  border: 2px solid #ffffff;
  border-radius: 18px !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.store-identity-hero__title {
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.08;
}

.store-identity-hero__subtitle {
  color: var(--pm-muted) !important;
}

.store-identity-hero__cta {
  min-height: 40px;
  padding: 10px 16px !important;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  color: var(--pm-blue) !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.store-identity-hero__cta span {
  display: inline-block;
  white-space: nowrap;
}

.store-identity-hero__cta:hover {
  color: #ffffff !important;
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

.store-identity-nav {
  z-index: 54 !important;
  margin-top: -38px !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 30px rgba(2, 80, 110, 0.05) !important;
  backdrop-filter: blur(18px);
}

.store-identity-nav__wrap {
  max-width: 1320px;
  min-height: 72px;
  margin: 0 auto;
  padding: 10px 24px !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) auto !important;
  gap: 16px !important;
}

.store-identity-nav > .ck-container > .row {
  min-height: 64px;
  align-items: center !important;
}

.store-identity-nav > .ck-container > .row > [class*="col-"] {
  display: flex;
  min-height: 64px;
  align-items: center;
}

.store-identity-nav > .ck-container > .row > [class*="col-"]:last-child {
  flex: 0 0 auto;
  max-width: none;
  justify-content: flex-end;
}

.store-identity-nav > .ck-container > .row > [class*="col-"]:first-child {
  flex: 1 1 auto;
  max-width: none;
}

.store-identity-nav__search-column {
  display: none !important;
}

.store-identity-nav__default-menu {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 14px !important;
  list-style: none;
}

.store-identity-nav__default-menu .menu_interno_causa {
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
}

.store-identity-nav .menu_interno_causa a,
.store-identity-nav__sticky-menu .menu_interno_causa a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 8px 0 !important;
  border-radius: var(--pm-pill-radius);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.store-identity-nav .menu_interno_causa a:hover,
.store-identity-nav__sticky-menu .menu_interno_causa a:hover {
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.store-identity-nav__sticky-logo,
.store-identity-nav__mobile-brand-logo img {
  border-radius: 14px !important;
}

.store-identity-nav__store-title,
.store-identity-nav__store-title-link,
.store-identity-nav__mobile-brand-name {
  color: var(--pm-navy) !important;
}

.store-identity-nav__store-meta,
.store-identity-nav__caption {
  color: var(--pm-muted) !important;
}

.store-identity-nav__search-form .form-group--nest {
  margin-top: 0 !important;
  border-color: var(--pm-border) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.store-identity-nav__actions,
.store-identity-nav__utility {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 0 !important;
  gap: 8px !important;
}

.store-identity-nav__utility .ps-block__right {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.store-identity-nav__cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
}

.store-identity-nav__utility-link {
  min-height: 40px !important;
  padding: 9px 14px !important;
  border-color: var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.store-identity-nav__utility-link:hover {
  color: var(--pm-blue) !important;
  border-color: var(--pm-blue) !important;
}

.store-identity-nav__cart .header__extra {
  display: inline-grid !important;
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

.store-identity-nav__cart .header__extra > i {
  display: block !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.store-identity-nav__cart .header__extra span {
  right: -3px !important;
  bottom: -3px !important;
  width: 20px !important;
  height: 20px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
}

.store-identity-nav__cart .header__extra span i {
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.store-identity-nav__mobile-menu-trigger {
  border: 1px solid var(--pm-border) !important;
  border-radius: 50%;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
}

@media (max-width: 1199px) {
  .header.header--1 {
    display: none;
  }

  .store-identity-nav__wrap {
    display: flex !important;
    min-height: 64px;
  }

  .store-identity-nav__mobile-brand {
    display: flex !important;
  }
}

@media (max-width: 991px) {
  .header.header--product .ps-product--header-sticky .ps-product__title {
    max-width: 360px;
  }
}

@media (max-width: 575px) {
  .header.header--product {
    display: none;
  }

  .store-identity-hero {
    padding-bottom: 42px !important;
  }

  .store-identity-hero__content,
  .store-identity-nav__wrap {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .store-identity-hero__cta {
    display: none !important;
  }
}

.pm-store-profile-header.store-identity-shell {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 10020 !important;
  width: 100% !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.pm-store-profile-header .pm-store-header.store-identity-nav {
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.pm-store-header__top,
.pm-store-header__bottom,
.pm-store-header__mobile-search {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.pm-store-header__top {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 92px !important;
  padding-top: 12px !important;
  padding-bottom: 8px !important;
}

.pm-store-header__menu,
.pm-store-header__account,
.pm-store-header__language {
  display: inline-grid !important;
  flex: 0 0 auto !important;
  place-items: center !important;
  width: 50px !important;
  height: 50px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: calc(infinity * 1px) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

.pm-store-header__menu i,
.pm-store-header__account i {
  color: currentColor !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.pm-store-header__language {
  width: 50px !important;
  height: 44px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.pm-store-header__brand {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  min-width: 270px !important;
  max-width: 330px !important;
  gap: 14px !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

.pm-store-header__logo {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border: 1px solid rgba(219, 234, 254, 0.90) !important;
  border-radius: 999px !important;
  object-fit: cover !important;
  background: #ffffff !important;
  box-shadow: 0 18px 36px rgba(2, 80, 110, 0.10) !important;
}

.pm-store-header__copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  color: var(--pm-navy) !important;
  line-height: 1.08 !important;
}

.pm-store-header__copy strong {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: var(--pm-navy) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pm-store-header__copy small {
  display: block !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pm-store-header__search.ps-form--search-mobile {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 220px !important;
  margin: 0 !important;
}

.pm-store-header__search .form-group--nest {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 12px 0 48px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(2, 80, 110, 0.08) !important;
  overflow: hidden !important;
}

.pm-store-header__search-icon {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  color: var(--pm-muted) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

.pm-store-header__search .form-control {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 0 14px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 56px !important;
}

.pm-store-header__search .form-control::placeholder {
  color: rgba(47, 74, 107, 0.78) !important;
}

.pm-store-header__search button {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 96px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #0b3454 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}

.pm-store-header__actions {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin-left: auto !important;
}

.pm-store-header__cart.store-identity-nav__cart {
  height: 44px !important;
}

.pm-store-header__cart .header__extra.pm-cart-pill {
  display: inline-grid !important;
  width: 86px !important;
  min-width: 86px !important;
  height: 44px !important;
  min-height: 44px !important;
  place-items: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
}

.pm-store-header__cart .pm-cart-pill__icon {
  width: 21px !important;
  height: 21px !important;
  color: currentColor !important;
}

.pm-store-header__cart .header__extra.pm-cart-pill span {
  right: 16px !important;
  bottom: 50% !important;
  display: inline-flex !important;
  width: 22px !important;
  height: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  transform: translateY(50%) !important;
}

.pm-store-header__bottom {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 60px !important;
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

.pm-store-header__tabs {
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-store-header__tabs li {
  margin: 0 !important;
  padding: 0 !important;
}

.pm-store-header__tabs a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  color: var(--pm-navy) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.pm-store-header__tabs a:hover {
  color: var(--pm-blue) !important;
}

.pm-store-header__join {
  grid-column: 3 !important;
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 102px !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 20px 34px rgba(18, 139, 190, 0.24) !important;
}

.pm-store-header__mobile-search {
  display: none !important;
  padding-bottom: 10px !important;
}

.pm-store-header-spacer {
  display: block !important;
  width: 100% !important;
  height: 153px !important;
}

@media (max-width: 1199px) {
  .pm-store-header__brand {
    min-width: 240px !important;
    max-width: 280px !important;
  }

  .pm-store-header__copy strong,
  .pm-store-header__tabs a {
    font-size: 17px !important;
  }

  .pm-store-header__tabs {
    gap: 28px !important;
  }
}

@media (max-width: 991px) {
  .pm-store-header__top {
    min-height: 76px !important;
    padding-top: 10px !important;
  }

  .pm-store-header__logo {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  .pm-store-header__copy strong {
    font-size: 15px !important;
  }

  .pm-store-header__top > .pm-store-header__search {
    display: none !important;
  }

  .pm-store-header__mobile-search {
    display: block !important;
  }

  .pm-store-header-spacer {
    height: 190px !important;
  }

  .pm-store-header__bottom {
    grid-template-columns: minmax(0, 1fr) auto !important;
    overflow: hidden !important;
  }

  .pm-store-header__tabs {
    grid-column: 1 !important;
    justify-content: flex-start !important;
    gap: 26px !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .pm-store-header__tabs::-webkit-scrollbar {
    display: none !important;
  }

  .pm-store-header__join {
    grid-column: 2 !important;
  }
}

@media (max-width: 575px) {
  .pm-store-header__top,
  .pm-store-header__bottom,
  .pm-store-header__mobile-search {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .pm-store-header__top {
    gap: 8px !important;
  }

  .pm-store-header__menu,
  .pm-store-header__account {
    width: 44px !important;
    height: 44px !important;
  }

  .pm-store-header__brand {
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
  }

  .pm-store-header__logo {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
  }

  .pm-store-header__copy strong {
    font-size: 13px !important;
  }

  .pm-store-header__copy small {
    font-size: 11px !important;
  }

  .pm-store-header__language {
    display: none !important;
  }

  .pm-store-header__cart .header__extra.pm-cart-pill {
    width: 58px !important;
    min-width: 58px !important;
  }

  .pm-store-header__cart .header__extra.pm-cart-pill span {
    right: 8px !important;
  }

  .pm-store-header__search .form-group--nest {
    min-height: 52px !important;
  }

  .pm-store-header__search .form-control {
    height: 50px !important;
    min-height: 50px !important;
    font-size: 14px !important;
    line-height: 50px !important;
  }

  .pm-store-header__search button {
    min-width: 78px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }

  .pm-store-header__bottom {
    min-height: 52px !important;
  }

  .pm-store-header__tabs {
    gap: 24px !important;
  }

  .pm-store-header__tabs a {
    min-height: 38px !important;
    font-size: 15px !important;
  }

  .pm-store-header__join {
    display: none !important;
  }

  .pm-store-header-spacer {
    height: 204px !important;
  }
}

html,
body {
  font-family: var(--pm-font-sans) !important;
  color: var(--pm-ink);
  background: linear-gradient(180deg, #f6fcff 0%, #ffffff 38%, #eef8fb 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-family: var(--pm-font-sans) !important;
}

a {
  color: inherit;
}

a:hover {
  color: var(--pm-blue);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--pm-navy);
  font-family: var(--pm-font-sans) !important;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.12;
}

h1,
.h1 {
  font-size: clamp(36px, 5vw, 64px);
}

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

h3,
.h3 {
  font-size: clamp(20px, 2vw, 28px);
}

p,
.ps-product__content p,
.ps-block__content p {
  color: var(--pm-muted);
  line-height: 1.65;
}

.pm-gradient-text,
.ps-section__header h3 strong,
.ps-section__header h2 strong {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.ps-btn,
button.ps-btn,
.btn,
button.btn,
.ps-form--quick-search button,
.filter-btn,
.view_more,
.add-to-cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: var(--pm-pill-radius) !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.ps-btn:hover,
button.ps-btn:hover,
.btn:hover,
button.btn:hover,
.ps-form--quick-search button:hover,
.filter-btn:hover,
.view_more:hover,
.add-to-cart-button:hover {
  transform: translateY(-1px);
}

.ps-btn,
button.ps-btn,
.btn-primary,
button.btn-primary,
.filter-btn--primary,
.ps-form--quick-search button,
.add-to-cart-button {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
}

.ps-btn--black,
button.ps-btn--black,
.btn-dark,
button.btn-dark {
  color: #ffffff !important;
  background: var(--pm-navy) !important;
  box-shadow: none;
}

.btn-outline-secondary,
.ps-btn--gray,
button.ps-btn--gray,
.filter-btn--secondary {
  color: var(--pm-blue) !important;
  background: #ffffff !important;
  border-color: var(--pm-border) !important;
  box-shadow: none;
}

.badge,
.pm-label {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 10px;
  border-radius: var(--pm-pill-radius);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.badge.bg-secondary,
.badge.badge-secondary {
  background: #e9f8ff !important;
  color: var(--pm-blue) !important;
}

.form-control,
.form-select,
select.form-control,
input.form-control,
textarea.form-control {
  min-height: 44px;
  border-color: var(--pm-border);
  border-radius: 16px;
  color: var(--pm-ink);
  box-shadow: none;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--pm-cyan);
  box-shadow: 0 0 0 3px rgba(69, 177, 225, 0.18);
}

.header.header--1,
.header--mobile,
.navigation,
.ps-main > .ps-main__wrapper > header,
.ps-main__wrapper {
  font-family: var(--pm-font-sans) !important;
}

.header.header--1 .header__top,
.header.header--1 .navigation,
.header--mobile,
.navigation--mobile {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(219, 234, 254, 0.8) !important;
  backdrop-filter: blur(18px);
}

.header.header--1 .menu > li > a,
.navigation__extra > li > a,
.ps-block--user-header a,
.menu--product-categories .menu__toggle span {
  color: var(--pm-navy) !important;
  font-size: 14px;
  font-weight: 700;
}

.header.header--1 .menu > li > a:hover,
.navigation__extra > li > a:hover,
.ps-block--user-header a:hover {
  color: var(--pm-blue) !important;
}

.ps-form--quick-search {
  overflow: hidden;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.ps-form--quick-search .form-control,
.ps-form--quick-search input.form-control,
.ps-form--quick-search select.form-control {
  border: 0 !important;
  border-radius: 0 !important;
}

.ps-form--quick-search button {
  min-height: 38px;
  margin: 4px;
  padding: 10px 18px;
}

.ps-product,
.ps-product--inner,
.ps-block,
.ps-widget,
.ps-shopping-product .caja_store,
.ps-cart__items,
.ps-table--shopping-cart,
.table-responsive,
.card {
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius) !important;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.ps-product,
.ps-product--inner,
.ps-shopping-product .caja_store {
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ps-product:hover,
.ps-product--inner:hover,
.ps-shopping-product .caja_store:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.ps-product .ps-product__title,
.ps-product--inner .ps-product__title,
.texto_store,
.link_caja_store {
  color: var(--pm-navy);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.ps-product .ps-product__price,
.ps-product--inner .ps-product__price {
  color: var(--pm-blue);
  font-weight: 800;
}

.table {
  color: var(--pm-ink);
  border-collapse: separate;
  border-spacing: 0;
}

.table thead th {
  color: var(--pm-muted);
  background: #f6fcff;
  border-bottom: 1px solid var(--pm-border);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.table tbody td {
  border-color: #edf6fb;
  color: var(--pm-ink);
  font-size: 14px;
}

#vendor-dashboard {
  color: var(--pm-ink);
}

.ps-main {
  background: linear-gradient(180deg, #f6fcff 0%, #ffffff 42%, #eef8fb 100%);
}

.ps-main__sidebar,
.ps-sidebar {
  background: #ffffff !important;
  border-color: var(--pm-border) !important;
}

.ps-main__sidebar {
  box-shadow: 18px 0 50px rgba(2, 80, 110, 0.06);
}

.ps-sidebar .menu > li > a,
.ps-drawer--mobile .menu > li > a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin: 3px 10px;
  padding: 10px 14px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  font-size: 14px;
  font-weight: 700;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ps-sidebar .menu > li > a:hover,
.ps-drawer--mobile .menu > li > a:hover {
  color: var(--pm-navy) !important;
  background: var(--pm-soft);
  transform: translateX(1px);
}

.ps-sidebar .menu > li > a.active,
.ps-drawer--mobile .menu > li > a.active,
.ps-sidebar .menu > li.current-menu-item > a {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.18);
}

.ps-sidebar .menu-submenu {
  margin: 4px 12px 8px;
  padding: 6px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #f8fdff;
}

.ps-sidebar .menu-submenu a {
  min-height: 36px;
  margin: 2px 0;
  padding: 9px 12px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  font-size: 13px;
  font-weight: 700;
}

.ps-sidebar .menu-submenu a.active,
.ps-sidebar .menu-submenu a:hover {
  color: var(--pm-blue) !important;
  background: #e9f8ff;
}

#vendor-dashboard > header {
  margin-bottom: 24px !important;
}

#vendor-dashboard > header h3 {
  max-width: min(760px, 72vw);
  color: var(--pm-navy);
  font-size: clamp(24px, 3vw, 40px) !important;
  font-weight: 800;
  line-height: 1.08;
}

.ps-block--vendor-dashboard,
.ps-block--vendor-dashboard .ps-block__content,
#app > .card,
#app .card {
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.ps-block--vendor-dashboard {
  padding: 24px;
}

.ps-block--vendor-dashboard .ps-block__header h3,
.ps-block--vendor-dashboard h3 {
  color: var(--pm-navy);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 800;
}

.avatar,
.avatar-lg,
.ps-block--user-wellcome img {
  border: 2px solid #ffffff;
  border-radius: 18px !important;
  box-shadow: var(--pm-soft-shadow);
}

@media (max-width: 767px) {
  h1,
  .h1 {
    font-size: 34px;
  }

  h2,
  .h2 {
    font-size: 28px;
  }

  h3,
  .h3 {
    font-size: 22px;
  }

  .ps-btn,
  button.ps-btn,
  .btn,
  button.btn,
  .ps-form--quick-search button,
  .filter-btn,
  .view_more,
  .add-to-cart-button {
    min-height: 40px;
    padding: 10px 16px;
    font-size: 13px;
  }

  .ps-block--vendor-dashboard {
    padding: 16px;
  }

  #vendor-dashboard > header {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 14px;
  }

  #vendor-dashboard > header h3 {
    max-width: 100%;
    font-size: 28px !important;
  }
}

/* Store profile page: local equivalent for the Vercel /shop experience. */
.page-store {
  background: linear-gradient(180deg, #f6fcff 0%, #ffffff 34%, #eef8fb 100%);
}

.page-store .ps-store-list {
  padding-top: 0px;
}

.page-store .store-page--parish,
.page-store .store-page--cause {
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-page__intro,
.page-store .store-page--cause .store-page__intro {
  max-width: 1280px !important;
  margin: 28px auto 0 !important;
}

.page-store .store-page--parish .store-page__intro > .row,
.page-store .store-page--cause .store-page__intro > .row {
  overflow: hidden !important;
  padding: 22px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .store-page--parish .store-page__intro .header_shop,
.page-store .store-page--cause .store-page__intro .header_shop {
  min-height: 100% !important;
  margin-top: 0 !important;
  padding: 22px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.about,
.page-store .store-page--cause .store-page__intro .header_shop.about {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.about > p,
.page-store .store-page--cause .store-page__intro .header_shop.about > p {
  max-width: 720px !important;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.about ul,
.page-store .store-page--cause .store-page__intro .header_shop.about ul {
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 18px 0 0 !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.about li,
.page-store .store-page--cause .store-page__intro .header_shop.about li {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #e9f7fc !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.meet-founder,
.page-store .store-page--cause .store-page__intro .header_shop.meet-founder {
  margin-top: 18px !important;
  border: 1px solid var(--pm-border) !important;
  background: linear-gradient(145deg, #ffffff, #f5fbfe) !important;
}

.page-store .store-page--parish .store-page__intro .header_shop.meet-founder .title_mensaje,
.page-store .store-page--cause .store-page__intro .header_shop.meet-founder .title_mensaje {
  max-width: 100% !important;
  color: var(--pm-navy) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.page-store .store-page--parish .store-page__intro .col-lg-5 > img,
.page-store .store-page--cause .store-page__intro .col-lg-5 > img {
  display: block !important;
  width: 100% !important;
  min-height: 280px !important;
  max-height: 420px !important;
  margin: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}

.page-store .store-page--parish > .row.ck-container.g-4,
.page-store .store-page--cause > .row.ck-container.g-4 {
  max-width: 1280px !important;
  padding-top: 32px !important;
  padding-bottom: 36px !important;
}

.page-store .ck-container {
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

.page-store .tienda_1 > .row:first-child,
.page-store .tienda_2 > .row:first-child {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

.page-store .banner_store_header,
.page-store .banner_tienda_0 img {
  min-height: 300px;
  border: 1px solid var(--pm-border);
  border-radius: 28px !important;
  box-shadow: var(--pm-card-shadow);
}

.page-store .banner_store_header::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(11, 52, 84, 0.04) 0%, rgba(11, 52, 84, 0.42) 100%);
  pointer-events: none;
}

.page-store .store-identity-hero {
  padding: 14px 0 !important;
}

.page-store .navigation.menu_interno_store {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: -46px auto 0;
  padding: 0 24px;
  border: 0;
  background: transparent !important;
}

.page-store .navigation.menu_interno_store .ck-container {
  border: 1px solid rgba(219, 234, 254, 0.9);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--pm-soft-shadow);
  backdrop-filter: blur(18px);
}

.page-store .navigation.menu_interno_store.sticky {
  top: 12px !important;
}

.page-store .logo_marketplace3,
.page-store .logo_header_marketplace {
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-store .logo_header,
.page-store .logo_header_marketplace {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border: 3px solid #ffffff;
  border-radius: 20px !important;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.page-store .title_site,
.page-store .title_mensaje {
  color: var(--pm-navy);
  font-size: clamp(22px, 2.4vw, 34px) !important;
  font-weight: 800 !important;
  letter-spacing: 0;
  line-height: 1.1;
}

.page-store .caja_store .title_mensaje,
.store-page--parish .caja_store .title_mensaje,
.store-page--cause .caja_store .title_mensaje {
  display: flex !important;
  max-width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.page-store .caja_store .title_mensaje img,
.store-page--parish .caja_store .title_mensaje img,
.store-page--cause .caja_store .title_mensaje img {
  flex: 0 0 auto !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.page-store .store-section-cards {
  display: grid !important;
  max-width: 1280px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 15px !important;
  padding-left: 15px !important;
}

.page-store .store-section-cards > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.page-store .caja_store.caja_store--vercel,
.store-page--parish .caja_store.caja_store--vercel,
.store-page--cause .caja_store.caja_store--vercel {
  display: flex !important;
  height: 100% !important;
  min-height: 334px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

@media (max-width: 991px) {
  .page-store .store-section-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  .page-store .store-section-cards {
    grid-template-columns: 1fr !important;
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}

.page-store .caja_store.caja_store--vercel:hover,
.store-page--parish .caja_store.caja_store--vercel:hover,
.store-page--cause .caja_store.caja_store--vercel:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .caja_store--vercel .caja_store__media,
.store-page--parish .caja_store--vercel .caja_store__media,
.store-page--cause .caja_store--vercel .caja_store__media {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.page-store .caja_store--vercel .caja_store__media::before,
.store-page--parish .caja_store--vercel .caja_store__media::before,
.store-page--cause .caja_store--vercel .caja_store__media::before,
.page-store .caja_store--vercel .caja_store__media::after,
.store-page--parish .caja_store--vercel .caja_store__media::after,
.store-page--cause .caja_store--vercel .caja_store__media::after {
  display: none !important;
  content: none !important;
}

.page-store .caja_store--vercel .caja_store__content,
.store-page--parish .caja_store--vercel .caja_store__content,
.store-page--cause .caja_store--vercel .caja_store__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  padding: 22px 24px 24px !important;
  background: #ffffff !important;
  text-align: left !important;
}

.page-store .store-section-cards .caja_store--vercel .caja_store__content > * {
  align-self: stretch !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}

.page-store .caja_store--vercel .caja_store__label,
.store-page--parish .caja_store--vercel .caja_store__label,
.store-page--cause .caja_store--vercel .caja_store__label {
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

.page-store .store-section-cards .caja_store--vercel .caja_store__title,
.store-page--parish .store-section-cards .caja_store--vercel .caja_store__title,
.store-page--cause .store-section-cards .caja_store--vercel .caja_store__title {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 2px !important;
  padding: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.16 !important;
  text-align: left !important;
  white-space: normal !important;
}

.page-store .caja_store--vercel p,
.store-page--parish .caja_store--vercel p,
.store-page--cause .caja_store--vercel p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.page-store .store-section-cards .caja_store--vercel:hover .caja_store__title,
.store-page--parish .store-section-cards .caja_store--vercel:hover .caja_store__title,
.store-page--cause .store-section-cards .caja_store--vercel:hover .caja_store__title {
  color: var(--pm-blue) !important;
}

.page-store .menu_interno_causa a,
.page-store .contenedor_menu_interno a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.page-store .menu_interno_causa a:hover,
.page-store .contenedor_menu_interno a:hover {
  color: var(--pm-navy) !important;
  background: var(--pm-soft);
}

.page-store .navigation.menu_interno_store.store-identity-nav {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: var(--store-nav-background, #006f99) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.page-store .navigation.menu_interno_store.store-identity-nav .ck-container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.page-store .navigation.menu_interno_store.store-identity-nav > .ck-container > .row {
  min-height: 64px !important;
  align-items: center !important;
}

.page-store .navigation.menu_interno_store.store-identity-nav .menu_interno_causa a,
.page-store .navigation.menu_interno_store.store-identity-nav .contenedor_menu_interno a {
  color: #ffffff !important;
  background: transparent !important;
}

.page-store .navigation.menu_interno_store.store-identity-nav .menu_interno_causa a:hover,
.page-store .navigation.menu_interno_store.store-identity-nav .contenedor_menu_interno a:hover {
  color: #ffffff !important;
  text-decoration: underline;
  text-underline-offset: 5px;
}

.page-store .navigation.menu_interno_store.store-identity-nav .store-identity-hero__cta {
  min-height: 40px;
  padding: 10px 18px !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
}

.page-store .pm-store-profile-header.store-identity-shell {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.page-store .pm-store-profile-header .navigation.menu_interno_store.store-identity-nav.pm-store-header {
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) !important;
}

.page-store .pm-store-profile-header .pm-store-header__tabs a {
  color: var(--pm-navy) !important;
  background: transparent !important;
  text-decoration: none !important;
}

.page-store .pm-store-profile-header .pm-store-header__tabs a:hover {
  color: var(--pm-blue) !important;
  background: transparent !important;
  text-decoration: none !important;
}

.page-store .ps-store-list {
  padding-top: 0px !important;
}

.page-store .header_shop {
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.page-store .header_shop.about {
  padding: 26px;
}

.page-store .header_shop.meet-founder {
  padding: 26px;
  background:
    linear-gradient(135deg, rgba(233, 248, 255, 0.8), rgba(255, 255, 255, 0.96));
}

.page-store .header_shop.meet-founder .title_mensaje {
  max-width: 100% !important;
  color: var(--pm-navy) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.page-store .header_shop p,
.page-store .header_shop li {
  color: var(--pm-muted);
  font-size: 14px;
  line-height: 1.65;
}

.page-store .view_more,
.page-store .view_more2 {
  color: var(--pm-blue) !important;
  font-weight: 800;
}

.page-store .padding-seccion,
.page-store .padding-seccion2,
.page-store #explore {
  padding: 42px 0;
}

.page-store .bg-azul_claro,
.page-store #explore {
  background: transparent !important;
}

.page-store .ps-shopping {
  border: 1px solid var(--pm-border);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--pm-card-shadow);
  padding: 20px;
}

.page-store .ps-shopping > h3,
.page-store .ps-shopping .title_site {
  margin-bottom: 18px;
}

.page-store .ps-shopping .filtro > div,
.page-store .bb-shop-sidebar,
.page-store .ps-layout__left {
  border: 1px solid var(--pm-border);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: none;
}

.page-store .filtro_cate {
  display: inline-flex;
  align-items: center;
  margin: 0 8px 8px 0;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
  color: var(--pm-ink) !important;
  overflow: hidden;
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.page-store .filtro_cate:hover {
  transform: translateY(-1px);
}

.page-store .filtro_cate a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 9px 14px;
  color: inherit !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.page-store .filtro_cate.active,
.page-store .filtro_cate[data-id="-1"] {
  color: #ffffff !important;
  border-color: transparent;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 12px 26px rgba(5, 126, 162, 0.20);
}

.page-store .ps-shopping__header {
  padding: 0;
  border: 0;
  background: transparent;
}

.page-store .ps-shopping__view {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  color: var(--pm-muted);
}

.page-store .ps-shopping__view p {
  margin: 0;
  font-size: 13px;
  color: var(--pm-muted);
}

.page-store .ps-shopping__view strong {
  color: var(--pm-navy);
  font-weight: 800;
}

.page-store .ps-tab-list {
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
}

.page-store .ps-tab-list li a {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  color: var(--pm-muted);
}

.page-store .ps-tab-list li.active a,
.page-store .ps-tab-list li a:hover {
  color: #ffffff;
  background: var(--pm-navy);
}

.page-store .ps-shopping-product > .row {
  margin-right: -8px;
  margin-left: -8px;
}

.page-store .ps-shopping-product > .row > [class*="col-"] {
  padding-right: 8px;
  padding-left: 8px;
  margin-bottom: 16px;
}

.page-store .ps-product {
  height: 100%;
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius) !important;
  background: #ffffff;
  box-shadow: none;
}

.page-store .ps-product__thumbnail {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  background: var(--pm-soft);
}

.page-store .ps-product__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  background: #ffffff;
}

.page-store .ps-product__container {
  padding: 13px 4px 2px;
}

.page-store .ps-product__vendor {
  color: var(--pm-blue) !important;
  font-size: 11px;
  font-weight: 800;
  text-transform: none !important;
}

.page-store .ps-product__title {
  display: -webkit-box;
  min-height: 38px;
  overflow: hidden;
  color: var(--pm-navy) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.page-store .ps-product__price {
  margin-top: 8px;
  color: var(--pm-blue) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.page-store .ps-product__actions {
  right: 12px;
  bottom: 12px;
}

.page-store .ps-product__actions li a {
  display: grid;
  width: 36px;
  height: 36px;
  min-height: 0;
  padding: 0;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 50% !important;
  color: var(--pm-navy) !important;
  background: #ffffff !important;
  box-shadow: var(--pm-soft-shadow);
}

.page-store .ps-product__actions li a:hover {
  color: #ffffff !important;
  border-color: transparent;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

.page-store .ps-product--wide {
  display: flex;
  gap: 18px;
  padding: 14px;
}

.page-store .ps-product--wide .ps-product__thumbnail {
  flex: 0 0 190px;
}

.page-store .ps-block--store-2,
.page-store .ps-block--store-2 .ps-block__content {
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-card-radius) !important;
  background: #ffffff;
  box-shadow: var(--pm-card-shadow);
}

.page-store #causas {
  padding: 42px 0 !important;
  background: transparent !important;
}

.page-store #causas .ck-container {
  max-width: 1280px !important;
}

.page-store #causas .title_site {
  margin-bottom: 22px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

.page-store #causas .store-support-causes__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.page-store #causas .store-support-causes__grid > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.page-store #causas .store-support-cause-card {
  display: flex !important;
  height: 100% !important;
  min-height: 364px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.page-store #causas .store-support-cause-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store #causas .store-support-cause-card__media {
  display: block !important;
  width: 100% !important;
  min-height: 260px !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: #e9f7fc !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.page-store #causas .store-support-cause-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 18px 18px 20px !important;
  background: #ffffff !important;
  text-align: left !important;
}

.page-store #causas .store-support-cause-card__content h4 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.page-store #causas .store-support-cause-card__content h4 a {
  color: inherit !important;
  text-decoration: none !important;
}

.page-store #causas .store-support-cause-card__content h4 a:hover {
  color: var(--pm-blue) !important;
}

.page-store #causas .store-support-cause-card__location {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.page-store #causas .store-support-cause-card__description {
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

.page-store #causas .store-support-cause-card__link {
  display: inline-flex !important;
  width: max-content !important;
  margin-top: auto !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.page-store #causas .store-support-cause-card__link:hover {
  color: var(--pm-blue) !important;
}

.page-store .pm-store-sponsors-section {
  padding: 42px 0 56px !important;
  background: transparent !important;
}

.page-store .pm-store-sponsors-section .ck-container {
  max-width: 1280px !important;
}

.page-store .pm-store-sponsors-card {
  overflow: hidden !important;
  padding: 34px 36px 38px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .pm-store-sponsors-card .title_site {
  margin: 0 0 26px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
}

.page-store .pm-store-sponsors-card .row {
  row-gap: 18px !important;
}

.page-store .pm-store-sponsors-card .store-page__sponsor-card {
  display: grid !important;
  min-height: 150px !important;
  place-items: center !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 28px rgba(7, 32, 57, 0.06) !important;
  text-decoration: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease !important;
}

.page-store .pm-store-sponsors-card .store-page__sponsor-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(0, 120, 166, 0.35) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .pm-store-sponsors-card .store-page__sponsor-card img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 96px !important;
  object-fit: contain !important;
}

@media (max-width: 991px) {
  .page-store #causas .store-support-causes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  .page-store #causas .store-support-causes__grid {
    grid-template-columns: 1fr !important;
  }

  .page-store .pm-store-sponsors-card {
    padding: 24px 18px !important;
  }
}

.page-store .imagen_marketplace {
  border-radius: 18px 18px 0 0;
}

.page-store .texto_store {
  padding: 16px;
}

.page-store .texto_store h4 {
  color: var(--pm-navy);
  font-size: 16px;
  font-weight: 800;
}

.page-store .texto_store p {
  margin-bottom: 0;
  color: var(--pm-muted);
  font-size: 12px;
}

@media (max-width: 991px) {
  .page-store .navigation.menu_interno_store {
    margin-top: -34px;
  }

  .page-store .navigation.menu_interno_store .ck-container {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .page-store .contenedor_menu_interno {
    display: flex !important;
    overflow-x: auto;
    width: 100%;
    gap: 8px !important;
    padding: 10px 0 2px !important;
  }

  .page-store .ps-shopping__view {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 10px;
  }
}

@media (max-width: 575px) {
  .page-store .ck-container,
  .page-store .tienda_1 > .row:first-child,
  .page-store .tienda_2 > .row:first-child,
  .page-store .navigation.menu_interno_store {
    padding-right: 14px;
    padding-left: 14px;
  }

  .page-store .banner_store_header,
  .page-store .banner_tienda_0 img {
    min-height: 220px;
    border-radius: 22px !important;
  }

  .page-store .header_shop.about,
  .page-store .header_shop.meet-founder,
  .page-store .ps-shopping {
    padding: 16px;
  }

  .page-store .ps-product--wide {
    display: block;
  }

  .page-store .ps-product--wide .ps-product__thumbnail {
    width: 100%;
  }
}

/* Product detail page: local equivalent for the Vercel /shop/product page. */
#product-page {
  background: linear-gradient(180deg, #f6fcff 0%, #ffffff 36%, #eef8fb 100%);
}

#product-page .ps-breadcrumb {
  padding: 18px 0 6px;
  background: transparent;
}

#product-page .ps-breadcrumb .ps-container,
#product-page .ps-page--product .ps-container {
  max-width: 1180px;
  padding-right: 24px;
  padding-left: 24px;
}

#product-page .breadcrumb-custom {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--pm-muted);
  font-size: 13px;
  font-weight: 700;
}

#product-page .breadcrumb-custom a {
  color: var(--pm-blue) !important;
  font-weight: 800;
}

#product-page .ps-page--product {
  padding: 18px 0 54px;
}

#product-page .ps-page--product .ps-page__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
}

#product-page .ps-page--product .ps-page__left,
#product-page .ps-page--product .ps-page__right {
  width: auto;
  max-width: none;
}

#product-page .ps-product--detail {
  border: 0;
  background: transparent;
}

#product-page .ps-product--detail .ps-product__header {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 28px;
  align-items: start;
  margin-bottom: 24px;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
#product-page .ps-product--detail .ps-product__info,
#product-page .ps-product--detail .ps-product__content,
#product-page .ps-page__right > *,
#product-page .cuadro_1,
#product-page .caja_donacion {
  border: 1px solid var(--pm-border);
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  overflow: hidden;
  padding: 16px;
}

#product-page .ps-product--detail .ps-product__thumbnail img,
#product-page .ps-product--detail .ps-product__gallery img {
  border-radius: 22px !important;
  background: #ffffff;
  object-fit: contain;
}

#product-page .ps-product--detail .ps-product__info {
  padding: 28px;
}

#product-page .ps-product--detail .ps-product__info h1 {
  margin-bottom: 12px;
  color: var(--pm-navy);
  font-size: clamp(32px, 3.4vw, 48px) !important;
  font-weight: 800;
  line-height: 1.08;
}

#product-page .sold_by {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  margin-bottom: 12px;
  padding: 7px 12px;
  border-radius: var(--pm-pill-radius);
  background: #e9f8ff;
  color: var(--pm-muted);
  font-size: 12px;
  font-weight: 700;
}

#product-page .sold_by a {
  color: var(--pm-blue) !important;
}

#product-page .ps-product__meta,
#product-page .rating_wrap {
  color: var(--pm-muted);
  font-size: 13px;
}

#product-page .rating_wrap svg polygon {
  fill: var(--pm-blue);
}

#product-page .ps-product--detail .ps-product__price,
#product-page #price_product {
  color: var(--pm-navy) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 800 !important;
  line-height: 1.1;
}

#product-page .pr_switch_wrap,
#product-page .product-option-form,
#product-page .ps-product__shopping {
  margin-top: 18px;
}

#product-page .pr_switch_wrap .attribute-swatch-item,
#product-page .pr_switch_wrap label,
#product-page .product-option-form label {
  border-radius: var(--pm-pill-radius) !important;
  font-weight: 800;
}

#product-page .pr_switch_wrap [data-slug="size"].attribute-swatches-wrapper {
  margin-top: 16px !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-title {
  margin: 0 0 8px !important;
  color: var(--pm-navy) !important;
  font-size: 0 !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-title::after {
  content: "Size";
  font-family: var(--pm-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item {
  display: inline-flex !important;
  margin: 0 !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item.disabled {
  display: none !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item label {
  display: inline-flex !important;
  margin: 0 !important;
  cursor: pointer !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-text-display {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 38px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  color: var(--pm-ink) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 19.5px !important;
  text-align: center !important;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item label:hover .bb-product-attribute-text-display {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item input[type=radio]:checked ~ .bb-product-attribute-text-display,
#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item input[type=checkbox]:checked ~ .bb-product-attribute-text-display {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-text-display::before,
#product-page .pr_switch_wrap [data-slug="size"] .bb-product-attribute-text-display::after {
  display: none !important;
  content: none !important;
}

#product-page .ps-product__shopping {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

#product-page .ps-product__shopping .ps-btn,
#product-page .add-to-cart-form > .ps-btn,
#product-page .add-to-cart-form button.ps-btn {
  min-width: 160px;
  min-height: 48px;
}

#product-page .form-group--number,
#product-page .product__qty {
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
}

#product-page .form-group--number .form-control,
#product-page .product__qty .form-control {
  border: 0;
  text-align: center;
  font-weight: 800;
}

#product-page .form-group--number button,
#product-page .product__qty button {
  color: var(--pm-navy);
  background: #ffffff;
}

#product-page .ps-product__desc {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--pm-border);
}

#product-page .ps-product__desc,
#product-page .ps-product__desc p,
#product-page .ps-list--dot {
  color: var(--pm-muted);
  font-size: 14px;
  line-height: 1.7;
}

#product-page .ps-product__specification {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #f8fdff;
}

#product-page .ps-product__specification p {
  margin-bottom: 8px;
  color: var(--pm-muted);
  font-size: 13px;
}

#product-page .ps-product__specification strong {
  color: var(--pm-navy);
}

#product-page .ps-product__sharing {
  margin-top: 18px;
}

#product-page .ps-product--detail > .ps-product__content {
  padding: 24px;
}

#product-page .ps-product--detail > .ps-product__content > .ps-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  padding: 0;
  border: 0;
  background: transparent;
}

#product-page .ps-product--detail > .ps-product__content > .ps-tab-list li a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 10px 15px;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  color: var(--pm-muted) !important;
  background: #ffffff;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1;
}

#product-page .ps-product--detail > .ps-product__content > .ps-tab-list li.active a,
#product-page .ps-product--detail > .ps-product__content > .ps-tab-list li a:hover {
  color: #ffffff !important;
  border-color: transparent;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
}

#product-page .ps-document,
#product-page .ck-content,
#product-page .ps-tabs {
  color: var(--pm-muted);
  font-size: 14px;
  line-height: 1.7;
}

#product-page .ps-page__right {
  position: sticky;
  top: 24px;
}

#product-page .ps-page__right > *,
#product-page .cuadro_1,
#product-page .caja_donacion {
  overflow: hidden;
}

#product-page .ps-page__right .ps-product {
  padding: 12px !important;
  border: 0;
  box-shadow: none;
}

#product-page .ps-page__right .ps-product__thumbnail {
  border-radius: 20px !important;
  background: var(--pm-soft);
}

#product-page .btn_donation_goals,
#product-page .btn_donation_goals a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: var(--pm-pill-radius);
  font-weight: 800;
}

#product-page .btn_donation_goals {
  margin: 14px;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.20);
}

#product-page .btn_donation_goals a {
  width: 100%;
  color: #ffffff !important;
}

#product-page .ps-product__actions a {
  display: inline-grid;
  width: 42px;
  height: 42px;
  min-height: 0;
  padding: 0;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 50% !important;
  color: var(--pm-navy) !important;
  background: #ffffff !important;
  box-shadow: none;
}

#product-page .ps-product__actions a:hover {
  color: #ffffff !important;
  border-color: transparent;
  background: var(--pm-navy) !important;
}

@media (max-width: 1199px) {
  #product-page .ps-page--product .ps-page__container {
    grid-template-columns: 1fr;
  }

  #product-page .ps-page__right {
    position: static;
  }
}

@media (max-width: 991px) {
  #product-page .ps-product--detail .ps-product__header {
    grid-template-columns: 1fr;
  }

  #product-page .ps-product--detail .ps-product__info {
    padding: 22px;
  }
}

@media (max-width: 575px) {
  #product-page .ps-breadcrumb .ps-container,
  #product-page .ps-page--product .ps-container {
    padding-right: 14px;
    padding-left: 14px;
  }

  #product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
  #product-page .ps-product--detail .ps-product__info,
  #product-page .ps-product--detail .ps-product__content {
    border-radius: 22px !important;
  }

  #product-page .ps-product--detail .ps-product__info,
  #product-page .ps-product--detail > .ps-product__content {
    padding: 16px;
  }

  #product-page .ps-product__shopping .ps-btn,
  #product-page .add-to-cart-form > .ps-btn,
  #product-page .add-to-cart-form button.ps-btn {
    width: 100%;
  }
}

/* Product detail: closer to the Vercel /shop/product composition. */
#product-page .ps-breadcrumb .ps-container,
#product-page .ps-page--product .ps-container {
  max-width: 1280px !important;
}

#product-page .ps-page--product .ps-page__container {
  display: block !important;
}

#product-page .ps-page--product .ps-page__left,
#product-page .ps-page--product .ps-page__right {
  width: 100% !important;
}

#product-page .ps-product--detail .ps-product__header {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr) !important;
  gap: 28px !important;
  align-items: start !important;
  margin-bottom: 24px !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
#product-page .ps-product--detail .ps-product__info,
#product-page .ps-product--detail > .ps-product__content {
  border-radius: 24px !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  padding: 12px !important;
}

#product-page .bb-product-gallery-wrapper,
#product-page .bb-product-gallery,
#product-page .bb-product-gallery-images {
  min-width: 0 !important;
}

#product-page .bb-product-gallery-images {
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #ffffff !important;
}

#product-page .bb-product-gallery-images a {
  display: grid !important;
  min-height: 520px !important;
  place-items: center !important;
  background: #ffffff !important;
}

#product-page .bb-product-gallery-images img {
  width: 100% !important;
  max-height: 500px !important;
  padding: 22px !important;
  object-fit: contain !important;
}

#product-page .bb-product-gallery-thumbnails {
  margin-top: 12px !important;
}

#product-page .bb-product-gallery-thumbnails .slick-slide > div,
#product-page .bb-product-gallery-thumbnails div {
  border-radius: 16px !important;
}

#product-page .bb-product-gallery-thumbnails img {
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  object-fit: contain !important;
}

#product-page .ps-product--detail .ps-product__info {
  padding: 28px !important;
}

#product-page .ps-product--detail .ps-product__info h1 {
  max-width: 720px !important;
  margin: 0 0 12px !important;
  font-size: clamp(30px, 3.1vw, 44px) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

#product-page .ps-product--detail .ps-product__price {
  margin: 16px 0 0 !important;
}

#product-page .ps-product--detail .ps-product__price,
#product-page #price_product {
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 600 !important;
}

#product-page .ps-product--detail .ps-product__price span,
#product-page #price_product span {
  font-weight: 600 !important;
}

#product-page .sold_by {
  margin-top: 4px !important;
}

#product-page .ps-product__meta {
  margin-top: 10px !important;
}

#product-page .ps-product__shopping {
  display: grid !important;
  grid-template-columns: minmax(128px, max-content) minmax(180px, 1fr) minmax(160px, 1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
}

#product-page .ps-product__shopping figure {
  margin: 0 !important;
}

#product-page .ps-product__shopping figure figcaption,
#product-page .product-option-form > label,
#product-page .pr_switch_wrap .attribute-name {
  margin-bottom: 8px !important;
  color: var(--pm-navy) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#product-page .ps-product__shopping .ps-btn,
#product-page .add-to-cart-form button.ps-btn {
  width: 100% !important;
  min-height: 48px !important;
  border: 0 !important;
  border-radius: var(--pm-pill-radius) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.22) !important;
}

#product-page .ps-product__shopping .ps-btn--black,
#product-page .add-to-cart-form button[name="add_to_cart"] {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

#product-page .add-to-cart-form button[name="checkout"] {
  color: var(--pm-blue) !important;
  border: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

#product-page .ps-product__shopping .ps-btn:hover,
#product-page .add-to-cart-form button.ps-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(5, 126, 162, 0.28) !important;
}

#product-page .ps-product__desc {
  margin-top: 24px !important;
}

#product-page .ps-product--detail > .ps-product__content {
  margin-top: 8px !important;
}

#product-page .ps-page__right {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 18px !important;
  margin-top: 24px !important;
}

#product-page .ps-page__right > *,
#product-page .cuadro_1,
#product-page .cuadro_2,
#product-page .cuadro_3,
#product-page .caja_donacion {
  min-width: 0 !important;
}

#product-page .cuadro_2,
#product-page .cuadro_3 {
  overflow: visible !important;
}

.cuadro_3,
.cuadro_2 {
  box-shadow: unset !important;
}

#product-page .cuadro_2 + .cuadro_3 {
  margin-top: 25px !important;
}

#product-page .product_causas {
  overflow: visible !important;
}

#product-page .imagen_circle_small {
  background-color: #ffffff !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}

#product-page .ps-customer-bought,
#product-page .ps-section--default {
  margin-top: 34px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#product-page .ps-section--default,
#product-page .ps-section--default .ps-section__content,
#product-page .ps-section--default .owl-stage-outer,
#product-page .ps-section--default .owl-stage,
#product-page .ps-section--default .owl-item {
  background: transparent !important;
}

#product-page .ps-customer-bought .ps-section__header,
#product-page .ps-section--default .ps-section__header {
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: 0 !important;
}

#product-page .ps-customer-bought .ps-section__header h3,
#product-page .ps-section--default .ps-section__header h3 {
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#product-page .ps-customer-bought .ps-section__content > .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
}

#product-page .ps-customer-bought .ps-section__content > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

#product-page .ps-customer-bought .ps-product {
  height: 100% !important;
}

@media (max-width: 1199px) {
  #product-page .ps-customer-bought .ps-section__content > .row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  #product-page .ps-product--detail .ps-product__header {
    grid-template-columns: 1fr !important;
  }

  #product-page .bb-product-gallery-images a {
    min-height: 420px !important;
  }

  #product-page .ps-product__shopping {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 767px) {
  #product-page .ps-customer-bought .ps-section__content > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  #product-page .ps-product--detail .ps-product__info {
    padding: 18px !important;
  }

  #product-page .bb-product-gallery-images a {
    min-height: 320px !important;
  }

  #product-page .bb-product-gallery-images img {
    max-height: 300px !important;
    padding: 14px !important;
  }

  #product-page .ps-product__shopping {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-customer-bought .ps-section__content > .row {
    grid-template-columns: 1fr !important;
  }
}

/* Product detail final alignment: gallery left, buying card + cross sell right. */
#product-page .ps-product--detail .ps-product__header {
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr) !important;
  grid-auto-flow: dense !important;
}

#product-page .ps-product--detail .ps-product__header > .ps-product__thumbnail.imagen_producto_interna,
#product-page .ps-product--detail .ps-product__header > .ps-product__info {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  margin: 0 !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  grid-row: 1 / span 2 !important;
}

#product-page .ps-product--detail .ps-product__info {
  display: flex !important;
  flex-direction: column !important;
}

#product-page .sold_by {
  order: -2 !important;
  width: fit-content !important;
  margin: 4px 0 14px !important;
  padding: 7px 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

#product-page .ps-product--detail .ps-product__info h1 {
  order: -1 !important;
  margin-bottom: 8px !important;
  font-size: clamp(34px, 3vw, 46px) !important;
  line-height: 1.08 !important;
}

#product-page .pm-product-short-description {
  order: 0 !important;
  margin: 0 0 12px !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

#product-page .ps-product__meta {
  margin-top: 6px !important;
}

#product-page .ps-product__desc {
  order: 2 !important;
  margin-top: 14px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

#product-page .ps-product__specification {
  display: none !important;
}

#product-page .ps-product__sharing {
  margin-top: 14px !important;
}

#product-page .ps-product__sharing > span {
  display: none !important;
}

#product-page .ps-product__sharing ul {
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product-page .ps-product__shopping {
  grid-template-columns: max-content max-content max-content auto !important;
  align-items: flex-end !important;
  margin-top: 22px !important;
}

#product-page .ps-product__shopping figure {
  display: grid !important;
  gap: 8px !important;
}

#product-page .ps-product__shopping figure figcaption {
  min-height: 16px !important;
  margin: 0 !important;
  line-height: 16px !important;
}

#product-page .ps-product__shopping .form-group--number,
#product-page .ps-product__shopping .product__qty {
  width: 144px !important;
  height: 48px !important;
  min-height: 48px !important;
  align-self: end !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

#product-page .ps-product__shopping .form-group--number .form-control,
#product-page .ps-product__shopping .product__qty .form-control {
  height: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

#product-page .ps-product__shopping .ps-btn,
#product-page .add-to-cart-form button.ps-btn {
  display: inline-flex !important;
  width: auto !important;
  height: 48px !important;
  min-width: 84px !important;
  min-height: 48px !important;
  align-self: end !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 24px !important;
  line-height: 1 !important;
}

#product-page .ps-product__shopping > button.ps-btn {
  margin-top: 24px !important;
}

#product-page .add-to-cart-form button[name="checkout"] {
  min-width: 118px !important;
}

#product-page .ps-product__actions {
  display: flex !important;
  gap: 8px !important;
}

#product-page .pm-product-cross-sell {
  grid-column: 2 !important;
  min-width: 0 !important;
}

#product-page .pm-product-cross-sell .ps-customer-bought {
  margin: 0 !important;
  padding: 22px 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#product-page .pm-product-cross-sell .ps-section__header h3 {
  font-size: 18px !important;
}

#product-page .pm-product-cross-sell .ps-section__content > .row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#product-page .pm-product-cross-sell .ps-product {
  border-radius: 16px !important;
}

#product-page .pm-product-cross-sell .ps-product > .ps-product__thumbnail {
  min-height: 142px !important;
}

#product-page .pm-product-cross-sell .ps-product > .ps-product__thumbnail img {
  max-height: 132px !important;
}

#product-page .pm-product-cross-sell .ps-product__container,
#product-page .pm-product-cross-sell .ps-product__content {
  padding: 10px !important;
}

#product-page .pm-product-cross-sell .ps-product__title {
  font-size: 12px !important;
  line-height: 16px !important;
}

#product-page .pm-product-cross-sell .ps-product__desc,
#product-page .pm-product-cross-sell .pm-product-card__view {
  display: none !important;
}

@media (min-width: 1200px) {
  #product-page .bb-product-gallery-images a {
    min-height: 620px !important;
  }

  #product-page .bb-product-gallery-images img {
    max-height: 590px !important;
  }
}

@media (max-width: 991px) {
  #product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
  #product-page .pm-product-cross-sell {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  #product-page .ps-product__shopping {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 575px) {
  #product-page .ps-product--detail .ps-product__info h1 {
    font-size: 32px !important;
    line-height: 1.05 !important;
  }

  #product-page .ps-product__shopping {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-product__shopping .ps-btn,
  #product-page .add-to-cart-form button.ps-btn {
    width: 100% !important;
  }

  #product-page .pm-product-cross-sell .ps-section__content > .row {
    grid-template-columns: 1fr !important;
  }
}

/* Product detail: put description/reviews in a Vercel-like card under the gallery. */
#product-page .ps-product--detail.ps-product--fullwidth {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr) !important;
  gap: 28px !important;
  align-items: start !important;
  overflow: visible !important;
}

#product-page .ps-product--detail.ps-product--fullwidth > .ps-product__header {
  display: contents !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#product-page .ps-product--detail .ps-product__info {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#product-page .ps-product--detail > .ps-product__content {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-top: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#product-page .pm-product-cross-sell {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

#product-page .ps-product--detail > .ps-product__content .ps-tab-list {
  display: none !important;
}

#product-page .ps-product--detail > .ps-product__content .ps-tabs {
  overflow: hidden !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

#product-page .ps-product--detail > .ps-product__content .ck-content,
#product-page .ps-product--detail > .ps-product__content .ps-document,
#product-page .ps-product--detail > .ps-product__content .ps-tab {
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

#product-page .ps-product--detail > .ps-product__content h1,
#product-page .ps-product--detail > .ps-product__content h2,
#product-page .ps-product--detail > .ps-product__content h3,
#product-page .ps-product--detail > .ps-product__content h4,
#product-page .ps-product--detail > .ps-product__content h5 {
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

#product-page .ps-product--detail > .ps-product__content ul,
#product-page .ps-product--detail > .ps-product__content ol {
  padding-left: 22px !important;
}

#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 22px 0 0 !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--pm-border) !important;
}

#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing > span {
  display: inline-flex !important;
  margin-right: 12px !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing ul,
#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing .ps-list--social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing a {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  color: var(--pm-blue) !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

#product-page .ps-product--detail > .ps-product__content > .ps-product__sharing a:hover {
  color: #ffffff !important;
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

@media (max-width: 991px) {
  #product-page .ps-product--detail.ps-product--fullwidth {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
  #product-page .ps-product--detail .ps-product__info,
  #product-page .ps-product--detail > .ps-product__content,
  #product-page .pm-product-cross-sell {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* Product detail: keep the support/donation card in the right rail, not full-width below. */
#product-page .ps-page--product .ps-page__container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

#product-page .ps-page--product .ps-page__left,
#product-page .ps-product--detail.ps-product--fullwidth,
#product-page .ps-product--detail.ps-product--fullwidth > .ps-product__header {
  display: contents !important;
}

#product-page .ps-page__right {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: static !important;
}

#product-page .ps-page__right > *,
#product-page .ps-page__right .cuadro_1,
#product-page .ps-page__right .caja_donacion {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#product-page .ps-page__right .caja_donacion {
  padding: 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#product-page .ps-page__right .caja_donacion .ps-product {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#product-page .ps-page__right .caja_donacion .ps-product__thumbnail {
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

#product-page .ps-page__right .caja_donacion .ps-product__thumbnail a {
  display: grid !important;
  min-height: 220px !important;
  place-items: center !important;
}

#product-page .ps-page__right .caja_donacion .ps-product__thumbnail a img {
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}

#product-page .ps-page__right .caja_donacion .ps-product__thumbnail .logo_causa {
  width: 150px !important;
  height: 150px !important;
  max-height: 150px !important;
  min-height: 150px !important;
  object-fit: contain !important;
}

#product-page .ps-page__right .cuadro_1 {
  overflow: visible !important;
}

#product-page .ps-page__right .caja_donacion .pm-product-support-media {
  display: grid !important;
  min-height: 220px !important;
  place-items: center !important;
}

#product-page .ps-page__right .caja_donacion .pm-product-support-media > img {
  width: 100% !important;
  height: 220px !important;
  max-height: 220px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
}

#product-page .ps-page__right .caja_donacion .pm-product-support-media > .logo_causa {
  width: 150px !important;
  height: 150px !important;
  max-height: 150px !important;
  min-height: 150px !important;
  object-fit: contain !important;
}

#product-page .ps-page__right .pm-product-support-card {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#product-page .ps-page__right .cuadro_1 > .pm-product-support-card:first-child {
  margin-top: 0 !important;
}

#product-page .ps-page__right .pm-product-support-card__content {
  display: grid !important;
  gap: 8px !important;
}

#product-page .ps-page__right .pm-product-support-card h3 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
}

#product-page .ps-page__right .pm-product-support-card p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

#product-page .ps-page__right .pm-product-support-card__amounts {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(48px, 0.85fr)) minmax(112px, 1.6fr) !important;
  align-items: center !important;
  gap: 6px !important;
}

#product-page .ps-page__right .pm-product-support-card__amount,
#product-page .ps-page__right .pm-product-support-card__custom {
  height: 40px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: #2c6076 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease !important;
}

#product-page .ps-page__right .pm-product-support-card__amount {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 8px !important;
}

#product-page .ps-page__right .pm-product-support-card__amount.is-active,
#product-page .ps-page__right .pm-product-support-card__amount:hover {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(0, 137, 178, 0.18) !important;
}

#product-page .ps-page__right .pm-product-support-card__custom {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 10px !important;
}

#product-page .ps-page__right .pm-product-support-card__custom:focus,
#product-page .ps-page__right .pm-product-support-card__custom.is-active {
  border-color: var(--pm-cyan) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(0, 166, 204, 0.14) !important;
}

#product-page .ps-page__right .pm-product-support-card__submit {
  display: inline-grid !important;
  width: 100% !important;
  height: 40px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: 0 14px 28px rgba(0, 137, 178, 0.22) !important;
}

#product-page .ps-page__right .pm-product-support-card__submit:hover {
  background: linear-gradient(135deg, var(--pm-navy), var(--pm-blue)) !important;
  color: #ffffff !important;
}

#product-page .ps-page__right .btn_donation_goals {
  margin: 12px 0 0 !important;
}

#product-page .product_causas__more {
  display: inline-grid;
  width: 50px;
  height: 50px;
  margin-right: 10px;
  margin-left: -25px;
  place-items: center;
  border: 1px solid var(--pm-blue);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff !important;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(2, 80, 110, 0.18);
  vertical-align: top;
}

#product-page .product_causas__more i {
  color: inherit !important;
  font-size: 18px;
  line-height: 1;
}

#product-page .product_causas__more:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--pm-navy), var(--pm-blue));
}

@media (max-width: 991px) {
  #product-page .ps-page--product .ps-page__container {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-page__right {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

body#product-page {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* Product detail: Vercel two-column composition with sticky purchase rail. */
#product-page .ps-page--product .ps-page__container {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

#product-page .ps-page--product .ps-page__left,
#product-page .ps-product--detail.ps-product--fullwidth,
#product-page .ps-product--detail.ps-product--fullwidth > .ps-product__header {
  display: contents !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#product-page .pm-product-right-rail {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  position: sticky !important;
  top: var(--pm-product-rail-top, 96px) !important;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  align-self: start !important;
  gap: 28px !important;
  min-width: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none;
}

#product-page .pm-product-right-rail::-webkit-scrollbar {
  display: none;
}

#product-page .pm-product-right-rail > .ps-product__info {
  grid-column: auto !important;
  grid-row: auto !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

#product-page .ps-product--detail > .ps-product__content {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#product-page .ps-page__right {
  grid-column: 2 !important;
  grid-row: 3 !important;
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

#product-page .pm-product-related-rail {
  margin-top: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--pm-card-shadow) !important;
  overflow: visible !important;
}

#product-page .pm-product-related-rail h3 {
  margin: 0 0 14px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

#product-page .pm-product-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#product-page .pm-product-related-card {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#product-page .pm-product-related-card__image {
  display: grid !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

#product-page .pm-product-related-card__image img {
  width: 100% !important;
  height: 100% !important;
  padding: 12px !important;
  object-fit: contain !important;
}

#product-page .pm-product-related-card__title {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  min-height: 50px !important;
  text-decoration: none !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#product-page .pm-product-related-card__title:hover {
  color: var(--pm-blue) !important;
}

#product-page .pm-product-related-card__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
}

#product-page .pm-product-related-card__footer span {
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#product-page .pm-product-related-card__add {
  display: inline-flex !important;
  min-width: 68px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  border-radius: var(--pm-pill-radius) !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(5, 126, 162, 0.2) !important;
}

#product-page .pm-product-related-card__add:hover {
  color: #ffffff !important;
  transform: translateY(-1px);
}

#product-page .ps-page__right .caja_donacion .ps-product__thumbnail a img {
  height: 306px !important;
  max-height: 306px !important;
}

#product-page .ps-page__right .btn_donation_goals,
#product-page .ps-page__right .btn_donation_goals a {
  min-height: 62px !important;
  font-size: 15px !important;
}

@media (max-width: 991px) {
  #product-page .ps-page--product .ps-page__container {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
  #product-page .pm-product-right-rail,
  #product-page .ps-product--detail > .ps-product__content,
  #product-page .ps-page__right {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #product-page .pm-product-right-rail {
    position: static !important;
  }
}

@media (max-width: 575px) {
  #product-page .pm-product-related-grid {
    grid-template-columns: 1fr !important;
  }

  #product-page .pm-product-related-card {
    gap: 10px !important;
  }

  #product-page .pm-product-related-card__image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
  }

  #product-page .ps-page__right .caja_donacion .ps-product__thumbnail a img {
    height: 220px !important;
    max-height: 220px !important;
  }
}

/* Product detail: make the product block itself the sticky container. */
#product-page .ps-page--product .ps-page__container {
  display: block !important;
}

#product-page .ps-page--product .ps-page__left {
  display: block !important;
  width: 100% !important;
}

#product-page .ps-product--detail.ps-product--fullwidth {
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, 0.94fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

#product-page .ps-product--detail.ps-product--fullwidth > .ps-product__header {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

#product-page .ps-product--detail .ps-product__header > .ps-product__thumbnail.imagen_producto_interna {
  width: 100% !important;
  max-width: none !important;
}

#product-page .pm-product-right-rail {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
}

#product-page .ps-product--detail > .ps-product__content {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#product-page .ps-page--product .ps-page__right {
  width: calc((100% - 28px) * 0.47) !important;
  max-width: none !important;
  margin-top: 28px !important;
  margin-left: calc(((100% - 28px) * 0.53) + 28px) !important;
}

#product-page .pm-product-right-rail > .ps-page__right {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 991px) {
  #product-page .ps-product--detail.ps-product--fullwidth {
    grid-template-columns: 1fr !important;
  }

  #product-page .ps-product--detail.ps-product--fullwidth > .ps-product__header,
  #product-page .pm-product-right-rail,
  #product-page .ps-product--detail > .ps-product__content {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #product-page .ps-page--product .ps-page__right {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Product detail: Vercel Product & cause details card. */
#product-page .pm-product-detail-card {
  padding: 24px 20px 22px !important;
}

#product-page .pm-product-detail-card__header {
  margin-bottom: 18px;
}

#product-page .pm-product-detail-card__header h2 {
  margin: 0 0 6px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

#product-page .pm-product-detail-card__header p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#product-page .pm-product-detail-card__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

#product-page .pm-product-detail-card__meta article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: #ffffff;
}

#product-page .pm-product-detail-card__meta span,
#product-page .pm-product-detail-card__about-label {
  display: block;
  color: var(--pm-blue);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#product-page .pm-product-detail-card__meta h3 {
  margin: 8px 0 6px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

#product-page .pm-product-detail-card__meta p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#product-page .pm-product-detail-card__about-label {
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid var(--pm-border);
}

#product-page .pm-product-detail-card > .ps-tabs {
  margin-top: 14px !important;
}

#product-page .pm-product-detail-card > .ps-tabs .ps-document {
  padding-left: 18px !important;
  border-left: 2px solid #b8deee !important;
}

#product-page .pm-product-detail-card > .ps-tabs .ck-content,
#product-page .pm-product-detail-card > .ps-tabs .ck-content p,
#product-page .pm-product-detail-card > .ps-tabs .ck-content li {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

#product-page .pm-product-detail-card > .ps-tabs .ck-content ul,
#product-page .pm-product-detail-card > .ps-tabs .ck-content ol {
  margin: 0 !important;
  padding-left: 18px !important;
}

#product-page .pm-product-detail-card > .ps-tabs .ck-content li {
  margin-bottom: 2px !important;
}

#product-page .pm-product-detail-card__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

#product-page .pm-product-detail-card__pills span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 6px 13px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  color: var(--pm-navy);
  background: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

#product-page .pm-product-detail-card > .ps-product__sharing {
  margin-top: 22px !important;
}

#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna,
#product-page .pm-product-right-rail > .ps-product__info,
#product-page .pm-product-related-rail,
#product-page .pm-product-detail-card,
#product-page .ps-page__right .caja_donacion {
  box-shadow: none !important;
}

#product-page .pm-product-right-rail > .ps-product__info {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  padding-bottom: 28px !important;
}

#product-page .pm-product-right-rail > .ps-product__info form,
#product-page .pm-product-right-rail > .ps-product__info .add-to-cart-form {
  margin-bottom: 0 !important;
}

#product-page .pm-product-right-rail .ps-product__shopping {
  grid-template-columns: max-content max-content max-content auto !important;
  gap: 12px !important;
  align-items: end !important;
  margin: 22px 0 0 !important;
}

#product-page .pm-product-right-rail .ps-product__shopping > button.ps-btn {
  margin-top: 24px !important;
}

#product-page .pm-product-right-rail .ps-product__shopping > button.ps-btn[name="add_to_cart"] {
  min-width: 72px !important;
  padding: 0 22px !important;
}

#product-page .pm-product-share-button {
  display: inline-flex !important;
  width: auto !important;
  height: 48px !important;
  min-width: 106px !important;
  min-height: 48px !important;
  align-self: end !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

#product-page .pm-product-share-button svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#product-page .pm-product-share-button:hover {
  border-color: var(--pm-blue) !important;
  background: #f6fcff !important;
  color: var(--pm-navy) !important;
}

/* Product detail gallery: Vercel-style main image card with thumbnails below. */
#product-page .ps-product--detail .ps-product__thumbnail.imagen_producto_interna {
  overflow: visible !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

#product-page .bb-product-gallery-wrapper,
#product-page .bb-product-gallery {
  width: 100% !important;
}

#product-page .bb-product-gallery-images {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
}

#product-page .bb-product-gallery-images a {
  display: grid !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  place-items: center !important;
  background: #ffffff !important;
}

#product-page .bb-product-gallery-images img {
  width: 82% !important;
  height: 82% !important;
  max-width: 82% !important;
  max-height: 82% !important;
  padding: 0 !important;
  object-fit: contain !important;
}

#product-page .bb-product-gallery-thumbnails {
  margin-top: 18px !important;
}

#product-page .bb-product-gallery-thumbnails .slick-list,
#product-page .bb-product-gallery-thumbnails .slick-track {
  height: 148px !important;
}

#product-page .bb-product-gallery-thumbnails .slick-track {
  display: flex !important;
  gap: 12px !important;
  width: max-content !important;
  transform: none !important;
}

#product-page .bb-product-gallery-thumbnails .slick-slide {
  width: 148px !important;
  height: 148px !important;
  margin: 0 !important;
}

#product-page .bb-product-gallery-thumbnails img {
  width: 148px !important;
  height: 148px !important;
  padding: 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  object-fit: contain !important;
}

#product-page .bb-product-gallery-thumbnails .slick-current img,
#product-page .bb-product-gallery-thumbnails .slick-active.slick-current img {
  border: 2px solid var(--pm-blue) !important;
  padding: 9px !important;
}

/* Product detail breadcrumb, matching the Vercel product page. */
#product-page .ps-breadcrumb {
  display: block !important;
  padding: 24px 0 12px !important;
  border-top: 1px solid var(--pm-border);
  background: transparent !important;
}

#product-page .ps-breadcrumb .ps-container {
  max-width: 1280px !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

#product-page .ps-breadcrumb .breadcrumb-custom {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

.ps-breadcrumb .pm-product-breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
}

#product-page .ps-breadcrumb .breadcrumb-custom a,
#product-page .ps-breadcrumb .breadcrumb-custom span,
.ps-breadcrumb .pm-product-breadcrumb a,
.ps-breadcrumb .pm-product-breadcrumb span {
  color: var(--pm-muted) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

#product-page .ps-breadcrumb .breadcrumb-custom a:hover {
  color: var(--pm-blue) !important;
}

#product-page .ps-breadcrumb .breadcrumb-custom strong {
  color: var(--pm-navy) !important;
  font-size: inherit !important;
  font-weight: 900 !important;
}

.ps-breadcrumb .pm-product-breadcrumb strong {
  color: var(--pm-navy) !important;
  font-size: inherit !important;
  font-weight: 900 !important;
}

#product-page .ps-page--product {
  padding-top: 0 !important;
}

@media (max-width: 575px) {
  #product-page .pm-product-detail-card__meta {
    grid-template-columns: 1fr;
  }
}

/* Vercel-style global site header. Kept at the end to beat legacy Martfury/adverweb header rules. */
.pm-site-header.header.header--1 {
  position: sticky !important;
  top: 0;
  z-index: 90;
  min-height: 65px !important;
  border-bottom: 1px solid #d9ebf8 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px);
}

.pm-site-header .pm-site-header__inner.ps-container {
  box-sizing: border-box;
  display: flex !important;
  width: 100%;
  max-width: 1320px !important;
  min-height: 64px !important;
  align-items: center !important;
  gap: 12px;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.pm-site-header__menu,
.pm-site-header .header__extra,
.pm-site-header__icon {
  display: inline-grid !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid #dbeafe !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #0b3454 !important;
  line-height: 24px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pm-site-header .header__extra > i,
.pm-site-header__icon i {
  margin: 0 !important;
  color: #082843 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.pm-site-header .pm-header-action-icon,
.pm-site-header__icon svg.pm-header-action-icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.pm-header-menu-icon {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.pm-site-header__menu:hover,
.pm-site-header .header__extra:hover,
.pm-site-header__icon:hover {
  border-color: #057ea2 !important;
  color: #057ea2 !important;
  background: #ffffff !important;
}

.pm-site-header .header__extra:hover > i,
.pm-site-header__icon:hover i {
  color: #057ea2 !important;
}

.pm-site-header__logo {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
}

.pm-site-header__logo img,
.pm-site-header.header.header--1 .ps-logo img {
  display: block;
  width: auto !important;
  height: 40px !important;
  max-width: 214px !important;
  max-height: 40px !important;
  object-fit: contain;
}

.pm-site-header__nav {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  margin-right: auto;
  margin-left: 24px;
}

.pm-site-header__menu-list,
.pm-site-header__nav > .menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 4px !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-site-header__menu-list > li,
.pm-site-header__nav > .menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

.pm-site-header__menu-list > li > a,
.pm-site-header__nav > .menu > li > a {
  display: block !important;
  min-height: auto !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #102a43 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.pm-site-header.header.header--1 .pm-site-header__menu-list > li > a,
.pm-site-header.header.header--1 .pm-site-header__nav > .menu > li > a {
  color: #102a43 !important;
  font-family: var(--pm-font-sans) !important;
}

.pm-site-header__menu-list > li > a:hover,
.pm-site-header__menu-list > li.current-menu-item > a,
.pm-site-header__nav > .menu > li > a:hover,
.pm-site-header__nav > .menu > li.current-menu-item > a {
  background: #eef8fb !important;
  color: #0b3454 !important;
}

.pm-site-header.header.header--1 .pm-site-header__menu-list > li > a:hover,
.pm-site-header.header.header--1 .pm-site-header__menu-list > li.current-menu-item > a,
.pm-site-header.header.header--1 .pm-site-header__nav > .menu > li > a:hover,
.pm-site-header.header.header--1 .pm-site-header__nav > .menu > li.current-menu-item > a {
  background: #eef8fb !important;
  color: #0b3454 !important;
}

.pm-site-header__nav .sub-toggle {
  display: none !important;
}

.pm-site-header__nav .sub-menu,
.pm-site-header__nav .mega-menu {
  border: 1px solid #d7e9f8 !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(2, 80, 110, 0.12) !important;
}

.pm-site-header__actions {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center !important;
  justify-content: flex-end;
  gap: 8px;
  margin-left: auto;
}

.pm-site-header__cart {
  display: inline-flex;
  position: relative;
}

.pm-site-header .header__extra span {
  top: auto !important;
  right: -5px !important;
  bottom: -5px !important;
  display: grid !important;
  min-width: 20px !important;
  height: 20px !important;
  place-items: center;
  border: 2px solid #ffffff !important;
  border-radius: 999px !important;
  background: #1fa6d8 !important;
  color: #ffffff !important;
}

.pm-site-header .header__extra span i {
  color: #ffffff !important;
  font-size: 10px !important;
  font-style: normal;
  font-weight: 800;
  line-height: 1 !important;
}

.pm-site-header__join {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  white-space: nowrap;
  word-spacing: 0 !important;
}

.pm-site-header__join:hover {
  transform: translateY(-1px);
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

@media (max-width: 1199px) {
  .pm-site-header.header.header--1 {
    display: none !important;
  }
}

@media (max-width: 1320px) {
  .pm-site-header .pm-site-header__inner.ps-container {
    max-width: none !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  .pm-site-header__menu-list,
  .pm-site-header__nav > .menu {
    gap: 4px !important;
  }

  .pm-site-header__nav {
    margin-left: 24px;
  }
}

.header--mobile {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
  min-height: 65px !important;
  border-bottom: 1px solid #d9ebf8 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: none !important;
}

.header--mobile .navigation--mobile {
  display: flex !important;
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  min-height: 64px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 16px !important;
  background: transparent !important;
}

.header--mobile .navigation__left {
  display: inline-flex !important;
  flex: 1 1 auto;
  align-items: center !important;
  gap: 12px;
  min-width: 0;
  padding-right: 54px;
}

.header--mobile .navigation__right {
  display: none !important;
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 95;
  flex: 0 0 auto;
  align-items: center !important;
  justify-content: flex-end;
}

.pm-mobile-header__cart {
  display: inline-grid !important;
  position: static;
  z-index: 96;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid #d7e9f8 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #082843 !important;
  text-decoration: none !important;
}

.pm-mobile-header__join {
  display: inline-flex !important;
  position: static;
  z-index: 96;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  padding: 8px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18.6667px !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  word-spacing: 0 !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}

.pm-mobile-header__join:hover {
  transform: translateY(-1px);
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.pm-mobile-header__cart > i {
  color: #082843 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.pm-mobile-header__cart > span {
  position: absolute;
  right: -5px;
  bottom: -5px;
  display: grid;
  min-width: 20px;
  height: 20px;
  place-items: center;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #1fa6d8;
}

.pm-mobile-header__cart > span i {
  color: #ffffff !important;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
}

.pm-mobile-header__menu,
.header--mobile .header__extra,
.header--mobile .ps-block--user-header .ps-block__left {
  display: inline-grid !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  place-items: center;
  padding: 0 !important;
  border: 1px solid #dbeafe !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #0b3454 !important;
  line-height: 24px !important;
  text-decoration: none !important;
}

.header--mobile .header__extra > i,
.header--mobile .ps-block--user-header i {
  margin: 0 !important;
  color: #082843 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.header--mobile .ps-logo {
  display: inline-flex !important;
  align-items: center;
  min-width: 0;
  margin: 0 !important;
}

.header--mobile .ps-logo img {
  width: auto !important;
  height: auto !important;
  max-width: 149.167px !important;
  max-height: 40px !important;
  object-fit: contain;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .header--mobile .ps-logo img {
    height: auto !important;
    max-width: 149.167px !important;
    max-height: 40px !important;
  }
}

.header--mobile .header__actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
}

.header--mobile .header__actions > * {
  margin: 0 !important;
}

.header--mobile .ps-cart--mini {
  display: inline-flex !important;
  position: static !important;
  width: 40px !important;
  height: 40px !important;
  overflow: visible !important;
}

.header--mobile .ps-cart--mini > .btn-shopping-cart {
  display: inline-grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.header--mobile .ps-cart--mini .ps-cart--mobile {
  display: none !important;
}

/* Product section tabs: Vercel-style compact pills. */
.ps-product-list .ps-section__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px;
  border: 0 !important;
  background: transparent !important;
}

.ps-product-list .ps-section__header h3,
.ps-product-list .ps-section__header .title_site {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

.ps-product-list .ps-section__links {
  display: inline-flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ps-product-list .ps-section__links li,
.ps-product-list .ps-section__links li.nav-item {
  margin: 0 !important;
  padding: 0 !important;
}

.ps-product-list .ps-section__links li a,
.ps-product-list .ps-section__links li.nav-item a {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 12px 22px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #0588b8 0%, #35aee0 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.22) !important;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.ps-product-list .ps-section__links li a.active,
.ps-product-list .ps-section__links li.nav-item a.active,
.ps-product-list .ps-section__links li.active a,
.ps-product-list .ps-section__links li a:hover,
.ps-product-list .ps-section__links li.nav-item a:hover {
  border-color: transparent !important;
  background: linear-gradient(90deg, #057ea2 0%, #45b1e1 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  .ps-product-list .ps-section__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .ps-product-list .ps-section__links {
    justify-content: flex-start !important;
  }
}

.pm-featured-products {
  max-width: 1280px;
  margin: 0 auto !important;
  padding: 40px 24px 48px !important;
}

.pm-featured-products .ps-container {
  max-width: none !important;
  padding: 0 !important;
}

.pm-featured-products__header {
  align-items: flex-end !important;
  margin-bottom: 0px !important;
  padding: 0 !important;
}

.pm-featured-products .pm-featured-products__header h3,
.pm-featured-products .pm-featured-products__header .title_site {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 36px !important;
}

.pm-featured-products__header p {
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-featured-products__view-all {
  display: block !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-right: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #102a43 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.pm-featured-products__view-all:hover {
  color: var(--pm-blue) !important;
  transform: none !important;
}

.pm-featured-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.pm-featured-products__grid > .ps-product {
  min-width: 0;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) {
  min-height: 464px;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title {
  color: var(--pm-navy) !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title:hover {
  color: var(--pm-blue) !important;
}

@media (max-width: 1199px) {
  .pm-featured-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .pm-featured-products {
    padding: 34px 16px 42px !important;
  }

  .pm-featured-products__header {
    gap: 10px !important;
  }

  .pm-featured-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .pm-featured-products__grid {
    grid-template-columns: 1fr;
  }
}

.pm-give-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px;
}

.pm-give-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.pm-give-section__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 36px !important;
}

.pm-give-section__header p {
  max-width: 640px;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-give-section__header > a {
  display: inline-flex;
  align-items: center;
  color: var(--pm-navy) !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 20px;
  text-decoration: none !important;
  white-space: nowrap;
}

.pm-give-section__header > a:hover {
  color: var(--pm-blue) !important;
}

.pm-give-section__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.pm-give-card.pm-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-give-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-give-card__media {
  position: relative;
  display: block;
  flex: 0 0 auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #ffffff;
}

.pm-give-card__media::after {
  position: absolute;
  inset: 0;
  border-radius: 17px;
  background: linear-gradient(180deg, transparent 50%, rgba(8, 40, 67, 0.22));
  content: "";
  pointer-events: none;
}

.pm-give-card__media > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 17px;
  object-fit: cover;
  object-position: center;
}

.pm-give-section .pm-give-card.pm-card {
  height: 100%;
  min-height: 372px;
  padding: 0;
  background: #ffffff;
}

.pm-give-section .pm-give-card__media {
  height: 221px;
  aspect-ratio: auto;
  overflow: visible;
  border: 0;
  border-radius: 24px 24px 0 0;
  background: transparent;
}

.pm-give-section .pm-give-card__media::after {
  border-radius: 24px 24px 0 0;
}

.pm-give-section .pm-give-card__media > img {
  min-height: 100%;
  border-radius: 24px 24px 0 0;
}

.pm-give-section .pm-give-card__media > span {
  right: 12px;
  bottom: -22px;
  width: 80px;
  height: 80px;
  padding: 6px;
}

.pm-give-section .pm-give-card__body {
  padding: 34px 12px 14px;
}

.pm-give-card__media > span {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  padding: 7px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.pm-give-card__media > span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pm-give-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 18px 12px 12px;
}

.pm-give-card__body h3 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 20px !important;
}

.pm-give-card__body a:hover h3 {
  color: var(--pm-blue) !important;
}

.pm-give-card__location {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
}

.pm-give-card__body > p:not(.pm-give-card__location) {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

.pm-give-card__body > div {
  margin-top: auto;
  padding-top: 12px;
}

.pm-give-card__button {
  display: inline-flex !important;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 7px 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.pm-give-card__button:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-navy) !important;
}

.page-donations {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 28px 24px 48px !important;
}

.page-donations .ps-store-list,
.page-donations .ps-section__content {
  padding: 0 !important;
  background: transparent !important;
}

.page-donations .ps-section__header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

.page-donations .ps-section__header .title_site {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 36px !important;
}

.pm-donations-page__subtitle {
  max-width: 640px;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-donations .ps-section__search {
  margin: 0 0 26px !important;
}

.pm-donations-breadcrumb.ps-breadcrumb {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 18px 24px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.pm-stores-breadcrumb.ps-breadcrumb {
  margin-top: 65px !important;
}

body.show-admin-bar .pm-stores-breadcrumb.ps-breadcrumb {
  margin-top: 60px !important;
}

.pm-donations-breadcrumb .ps-container {
  max-width: none !important;
  padding: 0 !important;
}

.pm-donations-breadcrumb .breadcrumb-custom {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 32px !important;
  padding: 0 !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.pm-donations-breadcrumb .breadcrumb-custom a {
  color: var(--pm-blue) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.pm-donations-breadcrumb .breadcrumb-custom span {
  color: var(--pm-muted) !important;
}

.pm-donations-toolbar {
  display: grid !important;
  grid-template-columns: minmax(300px, 386px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
}

.pm-donations-toolbar__search,
.pm-donations-toolbar__controls {
  min-width: 0 !important;
}

.pm-donations-toolbar__controls {
  display: flex !important;
  justify-content: flex-end !important;
}

.page-donations .input-group {
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0, 54, 94, 0.08) !important;
}

.page-donations .input-group-text,
.page-donations .input-group .form-control {
  min-height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  box-shadow: none !important;
}

.page-donations .input-group-text {
  padding-left: 16px !important;
  color: var(--pm-blue) !important;
}

.page-donations .input-group .form-control {
  padding-left: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.page-donations .ps-shopping__header {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.page-donations .ps-shopping__view {
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.pm-donations-toolbar__count {
  min-width: 245px !important;
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.pm-donations-toolbar__count strong {
  color: #000000 !important;
  font-weight: 800 !important;
}

.pm-donations-toolbar__sort {
  display: flex !important;
  align-items: center !important;
  min-width: 120px !important;
  margin: 0 !important;
}

.pm-donations-toolbar__per-page {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #000000 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.pm-donations-toolbar__per-page label {
  margin: 0 !important;
  color: #000000 !important;
  font: inherit !important;
}

.page-donations .donation-sort-select,
.page-donations .donation-per-page-select,
.page-donations .select2-container .select2-selection--single {
  min-width: 84px !important;
  min-height: 36px !important;
  border: 1px solid rgba(8, 40, 67, 0.32) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.page-donations .donation-per-page-select {
  min-width: 76px !important;
}

.pm-donations-toolbar__view {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

.pm-donations-toolbar__view > span {
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.page-donations .products-layout {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.page-donations .products-layout li {
  margin: 0 !important;
}

.page-donations .products-layout li a {
  display: grid !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--pm-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-donations .products-layout li.active a,
.page-donations .products-layout li a:hover {
  color: var(--pm-blue) !important;
  background: transparent !important;
}

.page-donations .products-layout li a i {
  color: inherit !important;
  font-size: 21px !important;
  line-height: 1 !important;
}

.pm-donations-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.pm-donations-list {
  display: grid !important;
  gap: 16px !important;
}

.pm-donations-grid .pm-give-card.pm-card,
.pm-donations-list .pm-give-card.pm-card {
  min-width: 0;
}

.page-donations .pm-donations-grid .pm-give-card.pm-card {
  height: 100%;
  min-height: 372px;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
}

.page-donations .pm-donations-grid .pm-give-card__media {
  height: 221px;
  aspect-ratio: auto;
  overflow: visible;
  border: 0;
  border-radius: 24px 24px 0 0;
  background: transparent;
}

.page-donations .pm-donations-grid .pm-give-card__media::after {
  border-radius: 24px 24px 0 0;
}

.page-donations .pm-donations-grid .pm-give-card__media > img {
  min-height: 100%;
  border-radius: 24px 24px 0 0;
}

.page-donations .pm-donations-grid .pm-give-card__media > span {
  right: 12px;
  bottom: -22px;
  width: 76px;
  height: 76px;
}

.page-donations .pm-donations-grid .pm-give-card__body {
  padding: 34px 12px 14px;
}

.pm-give-card--list.pm-card {
  display: grid !important;
  grid-template-columns: minmax(240px, 340px) minmax(0, 1fr) !important;
  min-height: 0 !important;
  gap: 18px !important;
}

.pm-give-card--list .pm-give-card__media {
  height: 100%;
  min-height: 220px;
  aspect-ratio: auto;
}

.pm-give-card--list .pm-give-card__media > span {
  bottom: 14px;
}

.pm-give-card--list .pm-give-card__body {
  padding: 12px 12px 12px 0;
}

.pm-give-card--list .pm-give-card__body h3 {
  font-size: 20px !important;
  line-height: 26px !important;
}

.pm-give-card--list .pm-give-card__body > p:not(.pm-give-card__location) {
  max-width: 680px;
  font-size: 14px !important;
  line-height: 21px !important;
}

@media (max-width: 1199px) {
  .pm-give-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pm-donations-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .pm-give-section {
    padding: 34px 16px;
  }

  .pm-give-section__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .pm-give-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-donations {
    padding: 24px 16px 42px !important;
  }

  .pm-donations-breadcrumb.ps-breadcrumb {
    padding: 14px 16px 0 !important;
  }

  .page-donations .ps-section__header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .pm-donations-toolbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .page-donations .ps-shopping__view {
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }

  .pm-donations-toolbar__count {
    min-width: 0 !important;
  }

  .pm-donations-toolbar__per-page {
    width: 100% !important;
  }

  .page-donations .donation-per-page-select {
    width: 100% !important;
    max-width: 100% !important;
  }

  .pm-donations-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pm-give-card--list.pm-card {
    grid-template-columns: 1fr !important;
  }

  .pm-give-card--list .pm-give-card__body {
    padding: 34px 12px 12px;
  }
}

@media (max-width: 575px) {
  .pm-give-section__grid {
    grid-template-columns: 1fr;
  }

  .pm-donations-grid {
    grid-template-columns: 1fr !important;
  }
}

.page-stores {
  max-width: 1280px !important;
  padding: 0 24px 56px !important;
}

.page-stores .ps-store-list,
.page-stores .ps-section__content {
  padding: 0 !important;
  background: transparent !important;
}

.page-stores .ps-section__header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}

.page-stores .ps-section__header .title_site {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 36px !important;
}

.pm-stores-toolbar {
  display: grid !important;
  grid-template-columns: minmax(300px, 386px) minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: center !important;
  margin-bottom: 28px !important;
}

.pm-stores-toolbar__search,
.pm-stores-toolbar__controls {
  min-width: 0 !important;
}

.pm-stores-toolbar__filters {
  display: none !important;
}

.pm-stores-toolbar__controls {
  display: flex !important;
  justify-content: flex-end !important;
}

.page-stores .input-group {
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0, 54, 94, 0.08) !important;
}

.page-stores .input-group-text,
.page-stores .input-group .form-control {
  min-height: 44px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  box-shadow: none !important;
}

.page-stores .input-group-text {
  padding-left: 16px !important;
  color: var(--pm-blue) !important;
}

.page-stores .input-group .form-control {
  padding-left: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.page-stores .ps-shopping__header {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.page-stores .ps-shopping__view {
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 24px !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.pm-stores-toolbar__count {
  min-width: 140px !important;
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.pm-stores-toolbar__count strong {
  color: #000000 !important;
  font-weight: 800 !important;
}

.pm-stores-toolbar__sort {
  display: flex !important;
  align-items: center !important;
  min-width: 120px !important;
  margin: 0 !important;
}

.pm-stores-toolbar__per-page {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #000000 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.pm-stores-toolbar__per-page label {
  margin: 0 !important;
  color: #000000 !important;
  font: inherit !important;
}

.page-stores .store-sort-select,
.page-stores .store-per-page-select,
.page-stores .select2-container .select2-selection--single {
  min-width: 84px !important;
  min-height: 36px !important;
  border: 1px solid rgba(8, 40, 67, 0.32) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.page-stores .store-per-page-select {
  min-width: 76px !important;
}

.pm-stores-toolbar__view {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

.pm-stores-toolbar__view > span {
  color: #000000 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.page-stores .products-layout {
  display: inline-flex !important;
  gap: 6px !important;
  align-items: center !important;
  margin: 0 !important;
}

.page-stores .products-layout li {
  display: inline-flex !important;
}

.page-stores .products-layout li a {
  display: inline-grid !important;
  width: 24px !important;
  height: 24px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: var(--pm-muted) !important;
  background: transparent !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.page-stores .products-layout li.active a,
.page-stores .products-layout li a:hover {
  color: var(--pm-blue) !important;
  background: transparent !important;
}

.page-stores .products-layout li a i {
  color: inherit !important;
  font-size: 20px !important;
}

.page-stores .stores_contenedor {
  row-gap: 24px !important;
}

.page-stores .pm-store-card-col {
  display: flex !important;
}

.page-stores .pm-store-card.pm-store-card--community {
  display: flex !important;
  width: 100% !important;
  min-height: 430px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.page-stores .pm-store-card.pm-store-card--community:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-stores .pm-store-card__media {
  position: relative !important;
  display: block !important;
  min-height: 202px !important;
  margin: 12px 12px 0 !important;
  overflow: visible !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 18px !important;
  background-color: #ffffff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.page-stores .pm-store-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(7, 32, 57, 0.02), rgba(7, 32, 57, 0.12));
  pointer-events: none;
}

.page-stores .pm-store-card__logo {
  position: absolute !important;
  right: 14px !important;
  bottom: -26px !important;
  z-index: 2 !important;
  display: grid !important;
  width: 76px !important;
  height: 76px !important;
  place-items: center !important;
  padding: 8px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 34px rgba(7, 32, 57, 0.12) !important;
  outline: 4px solid #ffffff !important;
}

.page-stores .pm-store-card__logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.page-stores .pm-store-card__body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 38px 24px 22px !important;
}

.page-stores .pm-store-card__body .store-card__title {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

.page-stores .pm-store-card__body .store-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}

.page-stores .pm-store-card__body .store-card__title a:hover {
  color: var(--pm-blue) !important;
}

.page-stores .pm-store-card__location {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.page-stores .pm-store-card__description {
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
}

.page-stores .pm-store-card__action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  min-height: 34px !important;
  margin-top: auto !important;
  padding: 0 18px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease !important;
}

.page-stores .pm-store-card__action:hover {
  border-color: var(--pm-blue) !important;
  background: var(--pm-blue) !important;
  color: #ffffff !important;
}

@media (max-width: 767px) {
  .page-stores {
    padding: 24px 16px 42px !important;
  }

  .page-stores .ps-section__header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .pm-stores-toolbar {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .page-stores .ps-shopping__view {
    justify-content: flex-start !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
  }

  .pm-stores-toolbar__count {
    min-width: 0 !important;
  }

  .pm-stores-toolbar__per-page {
    width: 100% !important;
  }

  .page-stores .store-per-page-select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Products page: cards should sit directly on the soft page background, like Vercel. */
.pm-shop-page {
  background:
    radial-gradient(circle at 8% 8%, rgba(69, 177, 225, 0.16), transparent 30%),
    linear-gradient(180deg, #f8fdff 0%, #ffffff 44%, #f8fdff 100%);
  color: var(--pm-ink);
  font-family: var(--pm-font-sans) !important;
  padding-top: 65px;
}

.pm-shop-page *,
.pm-shop-page *::before,
.pm-shop-page *::after {
  box-sizing: border-box;
}

.pm-shop-hero,
.pm-shop-steps,
.pm-shop-sponsor,
.pm-shop-sponsorships,
.pm-shop-impact {
  width: min(1280px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}

.pm-shop-hero {
  padding-top: 24px;
  padding-bottom: 12px;
}

.pm-shop-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 1fr);
  gap: 16px;
  align-items: stretch;
}

.pm-shop-hero__card,
.pm-shop-hero__media,
.pm-shop-steps article,
.pm-shop-sponsorships__benefits article,
.pm-shop-explore,
.pm-shop-results .ps-products-listing {
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.pm-shop-hero__card {
  display: flex;
  min-height: 330px !important;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 18px 32px !important;
}

.pm-shop-hero__eyebrow {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  background: var(--pm-soft);
  color: var(--pm-blue);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 13px;
}

.pm-shop-hero h1 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.12 !important;
}

.pm-shop-hero h1 span {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.pm-shop-hero__card > p {
  max-width: 470px;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.pm-shop-hero__search {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 10px;
  max-width: 640px;
  padding: 6px 7px 6px 14px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.pm-shop-hero__search i {
  color: var(--pm-muted);
  font-size: 17px;
}

.pm-shop-hero__search input {
  width: 100%;
  min-width: 0;
  height: 38px;
  border: 0;
  outline: 0;
  color: var(--pm-ink);
  font-size: 14px;
}

.pm-shop-hero__search input::placeholder {
  color: #94a3b8;
}

.pm-shop-hero__search button,
.pm-shop-sponsor__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  padding: 13px 20px;
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.24);
}

.pm-shop-hero__media {
  position: relative;
  isolation: isolate;
  min-height: 330px;
  overflow: hidden;
  background: var(--pm-navy);
}

.pm-shop-hero__media::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.12) 46%, rgba(0, 0, 0, 0.58));
}

.pm-shop-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pm-shop-hero__media-content {
  position: relative;
  z-index: 2;
  display: flex;
  height: 100%;
  min-height: inherit;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 32px;
  color: #ffffff;
}

.pm-shop-hero__media-content span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 8px 13px;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.pm-shop-hero__media-content h2 {
  max-width: 520px;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}

.pm-shop-hero__media-content p {
  max-width: 420px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.pm-shop-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.pm-shop-steps article {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
}

.pm-shop-steps article > span,
.pm-shop-sponsor__icon {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border-radius: 999px;
  background: var(--pm-blue);
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
}

.pm-shop-steps h3 {
  margin: 0 0 4px !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
}

.pm-shop-steps p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.pm-shop-sponsor {
  padding-top: 12px;
  padding-bottom: 24px;
}

.pm-shop-sponsor a {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 96px;
  padding: 20px 24px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: linear-gradient(90deg, var(--pm-navy), var(--pm-blue), var(--pm-cyan));
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: var(--pm-card-shadow);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-shop-sponsor a:hover {
  transform: translateY(-1px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-shop-sponsor__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.pm-shop-sponsor__copy strong {
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}

.pm-shop-sponsor__copy small {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.45;
}

.pm-shop-sponsor__cta {
  margin-left: auto;
  background: #ffffff;
  color: var(--pm-navy);
  box-shadow: none;
}

.pm-shop-sponsorships {
  padding-top: 8px;
  padding-bottom: 24px;
}

.pm-shop-sponsorships__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.pm-shop-sponsorships__feature {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 260px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 24px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: var(--pm-card-shadow);
}

.pm-shop-sponsorships__feature::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.80), rgba(0, 0, 0, 0.40) 52%, transparent);
}

.pm-shop-sponsorships__feature img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.pm-shop-sponsorships__feature:hover img {
  transform: scale(1.025);
}

.pm-shop-sponsorships__feature-content {
  display: flex;
  max-width: 420px;
  flex-direction: column;
  align-items: flex-start;
}

.pm-shop-sponsorships__feature-content > span {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 8px 13px;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.pm-shop-sponsorships__feature-content h3 {
  margin: 10px 0 0 !important;
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.pm-shop-sponsorships__feature-content p {
  max-width: 390px;
  margin: 6px 0 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.pm-shop-sponsorships__feature-content strong {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  margin-top: 13px;
  padding: 9px 13px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  transition: transform 0.15s ease;
}

.pm-shop-sponsorships__feature:hover .pm-shop-sponsorships__feature-content strong {
  transform: translateX(2px);
}

.pm-shop-sponsorships__feature-content svg {
  width: 14px;
  height: 14px;
}

.pm-shop-sponsorships__benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pm-shop-sponsorships__benefits article {
  padding: 16px;
}

.pm-shop-sponsorships__benefits h4 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.pm-shop-sponsorships__benefits p {
  margin: 5px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.pm-shop-impact {
  padding-top: 32px;
  padding-bottom: 48px;
}

.pm-shop-impact__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pm-shop-impact__card.pm-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.pm-shop-impact__icon {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 12px;
  background: var(--pm-soft);
  color: var(--pm-blue);
}

.pm-shop-impact__icon svg {
  width: 20px;
  height: 20px;
}

.pm-shop-impact__card h4 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.pm-shop-impact__card p {
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.pm-shop-page .ps-shop-brand,
.pm-shop-page .ps-block--shop-features {
  display: none !important;
}

.ps-page--shop .ps-container {
  max-width: 1280px !important;
}

.pm-shop-page .ps-container {
  width: min(1280px, 100%) !important;
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.ps-page--shop .ps-layout--shop,
.ps-page--shop .ps-layout__right,
.ps-page--shop .ps-layout__right.full-width,
.ps-page--shop .ps-shopping,
.ps-page--shop .ps-products-listing,
.ps-page--shop .bb-product-items-wrapper {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ps-page--shop .ps-layout__right,
.ps-page--shop .ps-layout__right.full-width {
  padding: 0 !important;
}

.ps-page--shop .ps-shopping {
  padding: 18px 0 56px !important;
}

.pm-shop-page .ps-shopping {
  padding-top: 0 !important;
}

.ps-page--shop .ps-breadcrumb {
  margin-bottom: 16px !important;
  border: 0 !important;
  background: transparent !important;
}

.pm-shop-listing__grid {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: flex-start;
}

.pm-shop-explore {
  position: sticky;
  top: 96px;
  padding: 12px;
}

.pm-shop-explore p {
  margin: 0 !important;
  padding: 4px 12px 9px;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  text-transform: uppercase;
}

.pm-shop-explore ul {
  display: grid;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-shop-explore li {
  margin: 0 !important;
  padding: 0 !important;
}

.pm-shop-explore a {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--pm-ink) !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.pm-shop-explore a:hover,
.pm-shop-explore a.active,
.pm-shop-explore .filtro_cate.active a {
  background: var(--pm-soft);
  color: var(--pm-navy) !important;
  font-weight: 400 !important;
}

.pm-shop-results {
  min-width: 0;
}

.pm-shop-results__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.pm-shop-results__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

.pm-shop-results__header p {
  margin: 3px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.pm-shop-results__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.pm-shop-results__actions .select2-container {
  width: 195px !important;
  min-width: 195px !important;
}

.pm-shop-results__actions .ps-select-shop-sort,
.pm-shop-results__actions .select2-container .select2-selection--single {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 195px !important;
  min-width: 195px !important;
  min-height: 30px !important;
  height: 30px !important;
  padding: 6px 12px !important;
  border: 1px solid rgb(219, 234, 254) !important;
  border-radius: calc(infinity * 1px) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 16px !important;
}

.pm-shop-results__actions .select2-container--default .select2-selection--single .select2-selection__rendered {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  color: var(--pm-navy) !important;
  height: 16px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 16px !important;
  padding: 0 18px 0 0 !important;
}

.pm-shop-results__actions .select2-container--default .select2-selection--single .select2-selection__arrow {
  display: grid !important;
  place-items: center !important;
  width: 14px !important;
  height: 14px !important;
  right: 12px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

.pm-shop-results__actions .select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none !important;
}

.pm-shop-results__actions .select2-container--default .select2-selection--single .select2-selection__arrow::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  font-family: inherit !important;
  border: solid currentColor !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: translate(-50%, -60%) rotate(45deg) !important;
}

body .pm-shop-page .pm-shop-results__actions .select2-container--default .select2-selection--single,
body .pm-shop-page .pm-shop-results__actions .select2-container--default .select2-selection--single .select2-selection__rendered {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

html body .pm-shop-page .pm-shop-results__actions span.select2.select2-container.select2-container--default .select2-selection.select2-selection--single,
html body .pm-shop-page .pm-shop-results__actions span.select2.select2-container.select2-container--default .select2-selection.select2-selection--single .select2-selection__rendered {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.pm-shop-results__actions .ps-shopping__view {
  display: flex !important;
  align-items: center;
  gap: 12px;
}

.pm-shop-results__actions .totales_products {
  margin: 0 !important;
  white-space: nowrap;
}

.pm-shop-results__actions .products-layout-donations {
  display: flex;
  gap: 4px;
  list-style: none !important;
}

.pm-shop-results__actions .products-layout-donations a {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-muted);
}

.pm-shop-results__actions .products-layout-donations li.active a,
.pm-shop-results__actions .products-layout-donations a:hover {
  border-color: var(--pm-blue);
  color: var(--pm-blue);
}

.pm-shop-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.pm-shop-chips a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy) !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
}

.pm-shop-chips a.active,
.pm-shop-chips a:hover {
  border-color: transparent;
  background: var(--pm-navy);
  color: #ffffff !important;
}

.pm-shop-results .ps-products-listing {
  padding: 0;
}

.pm-shop-page .pm-shop-product-card--hidden {
  display: none !important;
}

.pm-shop-page .ps-products-listing .ps-pagination {
  display: none !important;
}

.pm-shop-load-more {
  display: flex;
  justify-content: center;
  padding: 24px 0 8px;
}

.pm-shop-load-more__button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-family: var(--pm-font-sans);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  box-shadow: var(--pm-soft-shadow);
  transition: border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-shop-load-more__button:hover,
.pm-shop-load-more__button:focus {
  border-color: var(--pm-blue);
  color: var(--pm-blue);
  transform: translateY(-1px);
  box-shadow: var(--pm-card-shadow);
}

.pm-shop-load-more__button:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.pm-shop-product-card {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: var(--pm-card-shadow);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-shop-product-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-shop-product-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--pm-soft);
}

.pm-shop-product-card__image {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #ffffff;
}

.pm-shop-product-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
}

.pm-shop-product-card__media-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
}

.pm-shop-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
}

.pm-shop-product-card__title-link {
  display: block;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

.pm-shop-product-card__title-link h3 {
  display: -webkit-box;
  min-height: 35px;
  margin: 0 !important;
  overflow: hidden;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  transition: color 0.15s ease;
}

.pm-shop-product-card:hover .pm-shop-product-card__title-link h3 {
  color: var(--pm-blue) !important;
}

.pm-shop-product-card__body p {
  margin: 3px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.pm-shop-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 4px;
}

.pm-shop-product-card__footer span {
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.pm-shop-product-card__add {
  display: inline-flex !important;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 8px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(5, 126, 162, 0.22);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
}

.ps-layout--shop .ps-tabs .pm-shop-product-card__add.loading,
.ps-layout--shop .ps-tabs [data-bb-toggle="quick-shop"].pm-shop-product-card__add.loading {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: auto !important;
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  min-width: 56px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: transparent !important;
  opacity: 0.72 !important;
  transform: none !important;
  pointer-events: none !important;
}

.pm-shop-product-card__add:hover,
.pm-shop-product-card__add:focus {
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.28);
}

.ps-page--shop .ps-shopping__header {
  border: 0 !important;
  background: transparent !important;
}

.ps-page--shop .pm-shop-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.ps-page--shop .pm-shop-products-grid > .pm-shop-product-card {
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

/* Product cards: mirror the Vercel product tile across listing surfaces. */
.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) {
  display: flex !important;
  height: 100% !important;
  min-height: 460px;
  flex-direction: column !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky):hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow) !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border);
  border-radius: 18px !important;
  background: #ffffff !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  padding: 6px !important;
  object-fit: contain !important;
  object-position: center top !important;
  background: #ffffff !important;
  transform: none !important;
  transform-origin: center center;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__badges {
  top: 10px !important;
  left: 10px !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__badge {
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .pm-product-card__utility {
  top: 10px !important;
  right: 10px !important;
  bottom: auto !important;
  left: auto !important;
  display: flex !important;
  width: auto !important;
  max-width: none !important;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  visibility: hidden;
  transform: none !important;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky):hover .pm-product-card__utility {
  opacity: 1;
  visibility: visible;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .pm-product-card__utility li {
  margin: 0 !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .pm-product-card__utility a {
  display: grid !important;
  width: 34px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  place-items: center;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  box-shadow: var(--pm-soft-shadow);
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__container {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 11px;
  padding: 14px 13px 12px !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__content {
  display: flex !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px;
}

.pm-product-card__label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border-radius: 999px;
  background: #e9f8ff;
  color: var(--pm-blue);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  padding: 7px 11px;
  text-transform: uppercase;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title {
  display: -webkit-box !important;
  min-height: 40px !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--pm-blue) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title:hover {
  color: var(--pm-navy) !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__desc {
  display: -webkit-box !important;
  min-height: 38px;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.pm-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 3px;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__price {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__price del {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 600;
}

.pm-product-card__add {
  display: inline-flex !important;
  min-width: 60px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 9px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.24);
  white-space: nowrap;
}

.pm-product-card__add:hover {
  color: #ffffff !important;
  transform: translateY(-1px);
}

.pm-product-card__view {
  display: inline-flex !important;
  width: 100%;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.pm-product-card__view:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-navy) !important;
}

.caja_donacion .ps-product {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.caja_donacion .ps-product > .ps-product__thumbnail {
  aspect-ratio: auto !important;
  border: 0 !important;
  background: transparent !important;
}

@media (max-width: 575px) {
  .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) {
    min-height: 430px;
  }
}

@media (min-width: 640px) {
  .pm-shop-hero,
  .pm-shop-steps,
  .pm-shop-sponsor,
  .pm-shop-sponsorships,
  .pm-shop-impact {
    padding-right: 24px;
    padding-left: 24px;
  }

  .pm-shop-page .ps-container {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
}

@media (max-width: 991px) {
  .pm-shop-hero__grid,
  .pm-shop-sponsorships__grid,
  .pm-shop-listing__grid {
    grid-template-columns: 1fr;
  }

  .ps-page--shop .pm-shop-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-shop-hero__media {
    min-height: 320px;
  }

  .pm-shop-explore {
    position: static;
  }

  .pm-shop-explore ul {
    display: flex;
    overflow-x: auto;
    padding-bottom: 2px !important;
  }

  .pm-shop-explore a {
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .pm-shop-hero {
    padding-top: 16px;
  }

  .ps-page--shop .pm-shop-listing__grid,
  .ps-page--shop .pm-shop-results,
  .ps-page--shop .pm-shop-results > .row.d-md-none,
  .ps-page--shop .pm-shop-results__header,
  .ps-page--shop .pm-shop-chips,
  .ps-page--shop .bb-product-items-wrapper,
  .ps-page--shop .ps-shopping-product,
  .ps-page--shop .pm-shop-products-grid,
  .ps-page--shop .pm-shop-load-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ps-page--shop .pm-shop-results > .row.d-md-none {
    margin-right: 0 !important;
    margin-bottom: 12px !important;
    margin-left: 0 !important;
  }

  .ps-page--shop .pm-shop-results > .row.d-md-none > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .ps-page--shop .pm-shop-results .header__filter,
  .ps-page--shop .pm-shop-results .header__filter button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ps-page--shop .pm-shop-products-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ps-page--shop .pm-shop-product-card {
    border-radius: 20px;
  }

  .ps-page--shop .pm-shop-product-card__body {
    padding: 14px;
  }

  .ps-page--shop .pm-shop-product-card__title-link h3 {
    min-height: 0;
  }

  .pm-shop-hero__card,
  .pm-shop-hero__media-content {
    padding: 22px;
  }

  .pm-shop-hero h1 {
    font-size: 31px !important;
  }

  .pm-shop-hero__search {
    align-items: stretch;
    flex-wrap: wrap;
    border-radius: 22px;
  }

  .pm-shop-hero__search i {
    padding-top: 11px;
  }

  .pm-shop-hero__search input {
    flex: 1 1 calc(100% - 32px);
  }

  .pm-shop-hero__search button {
    width: 100%;
  }

  .pm-shop-steps {
    grid-template-columns: 1fr;
  }

  .pm-shop-sponsorships__feature {
    min-height: 260px;
    padding: 20px;
  }

  .pm-shop-sponsorships__benefits {
    grid-template-columns: 1fr;
  }

  .pm-shop-impact__grid {
    grid-template-columns: 1fr;
  }

  .pm-shop-sponsor a,
  .pm-shop-results__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-shop-sponsor__cta {
    margin-left: 0;
  }

  .pm-shop-results__actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Home ecosystem block replacing the old Explore ParishMart cards. */
.pm-ecosystem {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px;
}

.pm-ecosystem__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.pm-ecosystem__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 36px !important;
}

.pm-ecosystem__header p {
  max-width: 640px;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-ecosystem__stack {
  display: grid;
  gap: 18px;
}

.pm-ecosystem__role.pm-card {
  position: relative;
  overflow: hidden;
  padding: 28px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.pm-ecosystem__role::after {
  position: absolute;
  right: -48px;
  bottom: -48px;
  width: 160px;
  height: 160px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(69, 177, 225, 0.20), transparent 68%);
  content: "";
  pointer-events: none;
}

.pm-ecosystem__role-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 28px;
  align-items: center;
}

.pm-ecosystem__kicker,
.pm-ecosystem__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pm-blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pm-ecosystem__kicker span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--pm-blue);
  color: #ffffff;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

.pm-ecosystem__role h3 {
  margin: 14px 0 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 31px !important;
}

.pm-ecosystem__role > .pm-ecosystem__role-grid > div > p,
.pm-ecosystem__showcase-head p,
.pm-ecosystem__store-body p,
.pm-ecosystem__option small {
  color: var(--pm-muted);
}

.pm-ecosystem__role > .pm-ecosystem__role-grid > div > p {
  max-width: 420px;
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.6;
}

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

.pm-ecosystem__option {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  padding: 20px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.pm-ecosystem__option:hover {
  transform: translateY(-2px);
  border-color: rgba(5, 126, 162, 0.26);
  box-shadow: var(--pm-soft-shadow);
}

.pm-ecosystem__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: var(--pm-soft);
  color: var(--pm-blue);
}

.pm-ecosystem svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-ecosystem__option strong {
  margin-top: 14px;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 20px !important;
}

.pm-ecosystem__option small {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.55;
}

.pm-ecosystem__option em,
.pm-ecosystem__more,
.pm-ecosystem__showcase-head > a,
.pm-ecosystem__sponsors > a {
  color: #000 !important;
  font-style: normal;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}

.pm-ecosystem__option em {
  margin-top: auto;
  padding-top: 14px;
}

.pm-ecosystem__showcase {
  position: relative;
  z-index: 1;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(219, 234, 254, 0.72);
}

.pm-ecosystem__showcase-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.pm-ecosystem__status {
  color: var(--pm-muted);
}

.pm-ecosystem__status i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #10b981;
}

.pm-ecosystem__showcase h4 {
  margin: 6px 0 0;
  color: var(--pm-navy);
  font-size: 20px;
  font-weight: 800 !important;
}

.pm-ecosystem__showcase p {
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
}

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

.pm-ecosystem__store-card.pm-card,
.pm-ecosystem__business-card.pm-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 22px;
  background: #ffffff;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pm-ecosystem__store-card:hover,
.pm-ecosystem__business-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-ecosystem__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #ffffff;
}

.pm-ecosystem__media--logo {
  overflow: visible;
}

.pm-ecosystem__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(8, 40, 67, 0.22));
  content: "";
  pointer-events: none;
}

.pm-ecosystem__media > img {
  width: 100%;
  height: 100%;
  border-radius: 17px;
  object-fit: cover;
}

.pm-ecosystem__media--logo > span {
  position: absolute;
  right: 12px;
  bottom: -20px;
  z-index: 2;
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  padding: 7px;
  overflow: hidden;
  border-radius: 16px;
  background: #ffffff;
  border: 2px solid #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.pm-ecosystem__media--logo > span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pm-ecosystem__store-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 7px;
  padding: 13px 12px 10px;
}

.pm-ecosystem__store-body--business {
  padding-top: 34px;
}

.pm-ecosystem__store-body h5 {
  margin: 0;
  color: var(--pm-navy);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}

.pm-ecosystem__store-body a:hover h5 {
  color: var(--pm-blue);
}

.pm-ecosystem__place {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700;
}

.pm-ecosystem__store-body > p:not(.pm-ecosystem__place) {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.pm-ecosystem__more {
  margin-top: auto;
  padding-top: 8px;
}

.pm-ecosystem__sponsors {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(219, 234, 254, 0.60) !important;
  text-align: start !important;
}

.pm-ecosystem__sponsors-head {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.pm-ecosystem__sponsors h4 {
  margin: 4px 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
}

.pm-ecosystem__sponsors p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.pm-ecosystem__sponsors ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 24px 56px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-ecosystem__sponsors li {
  display: list-item !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: rgba(100, 116, 139, 0.80) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: -0.025em !important;
  filter: grayscale(1) !important;
  transition: color 0.15s ease, filter 0.15s ease !important;
}

.pm-ecosystem__sponsors li:hover {
  color: var(--pm-navy) !important;
  filter: grayscale(0) !important;
}

.pm-ecosystem__sponsors-head > a {
  color: var(--pm-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.pm-ecosystem__sponsors-head > a:hover {
  color: var(--pm-blue) !important;
  text-decoration: underline !important;
}

.pm-how-it-works {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px;
}

.pm-how-it-works__panel {
  overflow: hidden;
  padding: 40px;
  border-radius: 28px;
  background:
    radial-gradient(700px 220px at 0% 0%, rgba(69, 177, 225, 0.25), transparent 60%),
    linear-gradient(135deg, var(--pm-navy) 0%, #0a4868 100%);
  color: #ffffff;
  box-shadow: none;
}

.pm-how-it-works__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 32px;
  align-items: center;
}

.pm-how-it-works h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 37.5px !important;
}

.pm-how-it-works__panel > .pm-how-it-works__grid > div > p {
  margin: 8px 0 0 !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

.pm-how-it-works__steps {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.pm-how-it-works__step {
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
}

.pm-how-it-works__step > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pm-how-it-works__step span {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
}

.pm-how-it-works__step strong {
  color: #ffffff !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.pm-how-it-works__step p {
  margin: 8px 0 0 !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 12px !important;
  line-height: 16px !important;
}

.pm-how-it-works__video {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  background: #000000;
}

.pm-how-it-works__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 991px) {
  .pm-ecosystem__role-grid,
  .pm-ecosystem__cards,
  .pm-how-it-works__grid {
    grid-template-columns: 1fr;
  }

  .pm-ecosystem__cards {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .pm-ecosystem {
    padding: 34px 16px;
  }

  .pm-how-it-works {
    padding: 34px 16px;
  }

  .pm-ecosystem__role.pm-card {
    padding: 22px;
  }

  .pm-how-it-works__panel {
    padding: 24px;
  }

  .pm-ecosystem__option-grid {
    grid-template-columns: 1fr;
  }
}

/* Vercel parity: ecosystem onboarding + featured stores section. */
.pm-ecosystem,
.pm-ecosystem * {
  font-family: var(--pm-font-sans) !important;
  letter-spacing: 0 !important;
}

.pm-ecosystem {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 32px 16px !important;
  color: var(--pm-ink) !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

.pm-ecosystem__header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin-bottom: 20px !important;
  text-align: left !important;
}

.pm-ecosystem__header > div {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  text-align: left !important;
}

.pm-ecosystem__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  letter-spacing: -0.025em !important;
}

.pm-ecosystem__header p {
  max-width: 672px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-ecosystem__stack {
  display: grid !important;
  gap: 16px !important;
}

.pm-ecosystem__role.pm-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.pm-ecosystem__role.pm-card::after {
  display: none !important;
}

.pm-ecosystem__role-grid {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  gap: 24px !important;
  align-items: center !important;
}

.pm-ecosystem__kicker,
.pm-ecosystem__status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.pm-ecosystem__status {
  color: var(--pm-muted) !important;
}

.pm-ecosystem__kicker span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: var(--pm-blue) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.pm-ecosystem__role h3 {
  margin: 12px 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  letter-spacing: -0.025em !important;
}

.pm-ecosystem__kicker .pm-ecosystem__kicker-number b {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: translateY(-1px);
}

.pm-ecosystem__role > .pm-ecosystem__role-grid > div > p {
  max-width: 448px !important;
  margin: 8px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-ecosystem__option-grid {
  display: grid !important;
  gap: 12px !important;
}

.pm-ecosystem__option {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  padding: 20px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.80) !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.pm-ecosystem__option:hover {
  transform: translateY(-2px) !important;
  border-color: var(--pm-border) !important;
  box-shadow: var(--pm-soft-shadow) !important;
  text-decoration: none !important;
}

.pm-ecosystem__icon {
  display: grid !important;
  width: 40px !important;
  height: 40px !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
}

.pm-ecosystem svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.pm-ecosystem__option strong {
  margin-top: 12px !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
}

.pm-ecosystem__option small {
  margin-top: 4px !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.pm-ecosystem__option em,
.pm-ecosystem__more,
.pm-ecosystem__showcase-head > a,
.pm-ecosystem__sponsors > a {
  color: var(--pm-ink) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.pm-ecosystem__option em {
  margin-top: 12px !important;
  padding-top: 0 !important;
}

.pm-ecosystem__showcase {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(219, 234, 254, 0.60) !important;
}

.pm-ecosystem__showcase-head {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.pm-ecosystem__status i {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #10b981 !important;
}

.pm-ecosystem__showcase h4 {
  margin: 4px 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
}

.pm-ecosystem__showcase p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.pm-ecosystem__showcase-head > a:hover {
  color: var(--pm-blue) !important;
  text-decoration: underline !important;
}

.pm-ecosystem__cards {
  display: grid !important;
  gap: 12px !important;
}

.pm-ecosystem__store-card.pm-card,
.pm-ecosystem__business-card.pm-card {
  display: flex !important;
  min-height: 100% !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.pm-ecosystem__store-card:hover,
.pm-ecosystem__business-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.pm-ecosystem__media {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

.pm-ecosystem__media--logo {
  overflow: visible !important;
}

.pm-ecosystem__business-card .pm-ecosystem__media--logo > img {
  border-radius: 15px !important;
}

.pm-ecosystem__media > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

.pm-ecosystem__media::after {
  border-radius: 15px !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), transparent 58%) !important;
}

.pm-ecosystem__business-logo {
  position: absolute !important;
  right: 11px !important;
  bottom: -1px !important;
  z-index: 10 !important;
  display: grid !important;
  width: 80px !important;
  height: 80px !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 2px #ffffff, var(--pm-soft-shadow) !important;
  transform: translateY(25%) !important;
}

.pm-ecosystem__media--logo > .pm-ecosystem__business-logo img,
.pm-ecosystem__business-logo img {
  display: block !important;
  width: 68px !important;
  height: 68px !important;
  object-fit: contain !important;
}

.pm-ecosystem__business-avatar {
  position: absolute !important;
  right: 11px !important;
  bottom: -1px !important;
  z-index: 10 !important;
  display: grid !important;
  width: 64px !important;
  height: 64px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 0 0 2px #ffffff, var(--pm-soft-shadow) !important;
  transform: translateY(25%) !important;
}

.pm-ecosystem__store-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  min-height: 185px !important;
  padding: 12px !important;
}

.pm-ecosystem__store-body--business {
  min-height: 205px !important;
  padding: 32px 12px 12px !important;
}

.pm-ecosystem .pm-label {
  display: inline-flex !important;
  width: fit-content !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #e9f8ff !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.pm-ecosystem__store-body h5 {
  position: relative !important;
  top: 0.5px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
}

.pm-ecosystem__store-card:hover h5,
.pm-ecosystem__business-card:hover h5,
.pm-ecosystem__store-body a:hover h5 {
  color: var(--pm-blue) !important;
}

.pm-ecosystem__place {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 16.5px !important;
}

.pm-ecosystem__showcase .pm-ecosystem__store-body .pm-ecosystem__place {
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 16.5px !important;
}

.pm-ecosystem__store-body > p:not(.pm-ecosystem__place) {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.pm-ecosystem__more {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.pm-ecosystem__more:hover {
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

.pm-ecosystem__business-card .pm-ecosystem__media > img {
  transition: transform 0.2s ease !important;
}

.pm-ecosystem__business-card:hover .pm-ecosystem__media > img {
  transform: scale(1.015) !important;
}

@media (min-width: 640px) {
  .pm-ecosystem {
    padding: 40px 24px !important;
  }

  .pm-ecosystem__header {
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    margin-bottom: 24px !important;
  }

  .pm-ecosystem__header h2 {
    font-size: 30px !important;
    line-height: 36px !important;
  }

  .pm-ecosystem__role.pm-card {
    padding: 32px !important;
  }

  .pm-ecosystem__option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pm-ecosystem__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) {
  .pm-ecosystem__role-grid {
    grid-template-columns: 1fr 2fr !important;
  }

  .pm-ecosystem__role h3 {
    font-size: 26px !important;
    line-height: 34.6667px !important;
  }
}

.pm-ecosystem,
.pm-ecosystem * {
  font-family: var(--pm-font-sans) !important;
}

.pm-ecosystem__header > div {
  width: auto !important;
  max-width: none !important;
}

.pm-ecosystem__header h2 {
  letter-spacing: -0.025em !important;
}

.pm-ecosystem__role h3 {
  letter-spacing: -0.025em !important;
}

@media (min-width: 768px) {
  .pm-ecosystem__role h3 {
    line-height: 34.6667px !important;
  }
}

/* Footer: match the Vercel navy footer while preserving Botble widgets. */
.pm-site-footer.ps-footer {
  font-family: var(--pm-font-sans) !important;
  padding: 0 !important;
  border: 0 !important;
  background: #0b3454 !important;
  color: #ffffff !important;
}

.pm-site-footer.ps-footer *,
.pm-site-footer.ps-footer input,
.pm-site-footer.ps-footer button,
.pm-site-footer.ps-footer select,
.pm-site-footer.ps-footer textarea {
  font-family: var(--pm-font-sans) !important;
}

.pm-site-footer .ps-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 56px 24px 0 !important;
}



.pm-site-footer .ps-footer__widgets {
  display: grid !important;
  grid-template-columns: 268px repeat(3, 191.43px) 229.71px !important;
  gap: 40px !important;
  align-items: start !important;
  padding: 0 0 56px !important;
  border: 0 !important;
}

.pm-site-footer .panel,
.pm-site-footer .panel-default,
.pm-site-footer .panel-content,
.pm-site-footer .panel-content > div {
  display: block !important;
  width: 100% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 1) !important;
}

.pm-site-footer .ps-footer__widgets > .panel {
  min-width: 0 !important;
  justify-self: start !important;
}

.pm-site-footer .widget,
.pm-site-footer .widget_footer,
.pm-site-footer aside.widget.widget_footer {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.70) !important;
}

.pm-site-footer .widget-title,
.pm-site-footer .widget .widget-title,
.pm-site-footer h1,
.pm-site-footer h2,
.pm-site-footer h3,
.pm-site-footer h4,
.pm-site-footer h5,
.pm-site-footer h6 {
  margin: 0 0 12px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.65px !important;
  line-height: 18.5714px !important;
  text-transform: uppercase !important;
}

.pm-site-footer p,
.pm-site-footer li,
.pm-site-footer span,
.pm-site-footer .rpw,
.pm-site-footer .widget_content,
.pm-site-footer .panel-content {
  color: rgba(255, 255, 255, 1) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  text-align: left !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

.ps-footer .panel-content p {
  padding-right: 0px !important;
}

@media (min-width: 992px) {
  .page-store .pm-store-profile-header .pm-store-header__logo-shell {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    padding: 2px !important;
    overflow: hidden !important;
    border: 0 !important;
    outline: 1px solid rgba(219, 234, 254, 0.90) !important;
    border-radius: calc(infinity * 1px) !important;
    background: #ffffff !important;
    box-shadow: 0 18px 36px rgba(2, 80, 110, 0.10) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__logo-shell .pm-store-header__logo {
    display: block !important;
    width: 60px !important;
    height: 60.4167px !important;
    max-width: 60px !important;
    max-height: 60.4167px !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
  }
}

/* Store mobile menu: match the Vercel parish drawer. */
.page-store .ps-panel--sidebar.pm-store-mobile-menu[id^="store-menu-mobile-"] {
  width: min(340px, 86vw) !important;
  max-width: 340px !important;
  border-right: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.page-store .pm-store-mobile-menu .pm-store-mobile-menu__header {
  height: 69px !important;
  min-height: 69px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #dbeafe !important;
}

.page-store .pm-store-mobile-menu__logo {
  width: 170.5px !important;
  max-width: calc(100% - 56px) !important;
}

.page-store .pm-store-mobile-menu__logo img {
  width: 170.5px !important;
  height: auto !important;
}

.page-store .pm-store-mobile-menu__close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border: 1px solid #dbeafe !important;
  color: #64748b !important;
}

.page-store .pm-store-mobile-menu__close svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
}

.page-store .pm-store-mobile-menu__content {
  padding: 16px 12px 28px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li {
  min-height: 48px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a {
  display: flex !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  color: #102a43 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a::before,
.page-store .pm-store-mobile-menu__nav > li > a::before {
  display: none !important;
  content: none !important;
}

.page-store .pm-store-mobile-menu__icon {
  position: static !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  color: #057ea2 !important;
  stroke: currentColor !important;
}

.page-store .pm-store-mobile-menu__extra {
  margin-top: 3px !important;
  padding-top: 17px !important;
  border-top: 1px solid #dbeafe !important;
}

.page-store .pm-store-mobile-menu .menu--mobile.pm-store-mobile-menu__extra {
  margin-top: 2px !important;
  padding-top: 18px !important;
  border-top: 1px solid #dbeafe !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra .pm-store-mobile-menu__icon {
  color: #64748b !important;
}

.page-store .pm-store-mobile-menu__footer {
  display: none !important;
}

/* EOF: no page-level horizontal scroll in any viewport. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body > .ck-content,
.page-store,
.ps-page--product,
.ps-container,
.ck-container,
.pm-site-footer,
.pm-site-footer * {
  max-width: 100% !important;
}

.pm-mini-cart-drawer.ps-cart--mobile {
  right: 0 !important;
  left: auto !important;
  max-width: 100vw !important;
  transform: none !important;
}

body:not(.pm-mini-cart-open) .pm-mini-cart-drawer.ps-cart--mobile {
  pointer-events: none !important;
}

@media (max-width: 991px) {
  .pm-site-footer .ps-footer__copyright {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .pm-site-footer .pm-footer-legal-menu,
  .pm-site-footer .footer-legal-menu {
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }
}

/* Last rule: /products mobile must match the Vercel shop listing. */
@media (max-width: 767px) {
  body#product-page .pm-shop-page {
    padding-top: 65px !important;
  }

  body#product-page .pm-shop-hero,
  body#product-page .pm-shop-steps,
  body#product-page .pm-shop-sponsor,
  body#product-page .pm-shop-explore,
  body#product-page .pm-shop-results > .row.d-md-none,
  body#product-page .pm-shop-results__header {
    display: none !important;
  }

  body#product-page .ps-container,
  body#product-page .ps-layout--shop,
  body#product-page .ps-layout__right,
  body#product-page .ps-shopping,
  body#product-page .pm-shop-listing__grid,
  body#product-page .pm-shop-results,
  body#product-page .bb-product-items-wrapper,
  body#product-page .ps-shopping-product,
  body#product-page .pm-shop-products-grid,
  body#product-page .pm-shop-load-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body#product-page .ps-container {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body#product-page .ps-layout--shop,
  body#product-page .pm-shop-listing__grid {
    display: block !important;
  }

  body#product-page .ps-shopping {
    padding: 0 0 36px !important;
  }

  body#product-page .pm-shop-chips {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    margin: 0 0 16px !important;
    padding: 0 0 2px !important;
    scrollbar-width: none;
  }

  body#product-page .pm-shop-chips::-webkit-scrollbar {
    display: none !important;
  }

  body#product-page .pm-shop-chips a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--pm-navy) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  body#product-page .pm-shop-chips a:nth-child(-n+3) {
    display: none !important;
  }

  body#product-page .pm-shop-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body#product-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
  }

  body#product-page .pm-shop-product-card__media {
    height: 224px !important;
    min-height: 224px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px 8px !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body#product-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  body#product-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 17px !important;
  }

  body#product-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    color: var(--pm-muted) !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  body#product-page .pm-shop-product-card__footer {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-top: 4px !important;
  }

  body#product-page .pm-shop-product-card__footer span {
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }

  body#product-page .pm-shop-product-card__add {
    min-width: 60px !important;
    min-height: 34px !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
}

/* EOF /products mobile override: keep shop cards aligned with Vercel reference. */
@media (max-width: 767px) {
  body#product-page .pm-shop-page {
    padding-top: 65px !important;
  }

  body#product-page .pm-shop-hero,
  body#product-page .pm-shop-steps,
  body#product-page .pm-shop-sponsor,
  body#product-page .pm-shop-explore,
  body#product-page .pm-shop-results > .row.d-md-none,
  body#product-page .pm-shop-results__header {
    display: none !important;
  }

  body#product-page .ps-container,
  body#product-page .ps-layout--shop,
  body#product-page .ps-layout__right,
  body#product-page .ps-shopping,
  body#product-page .pm-shop-listing__grid,
  body#product-page .pm-shop-results,
  body#product-page .bb-product-items-wrapper,
  body#product-page .ps-shopping-product,
  body#product-page .pm-shop-products-grid,
  body#product-page .pm-shop-load-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body#product-page .ps-container {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body#product-page .ps-layout--shop,
  body#product-page .pm-shop-listing__grid {
    display: block !important;
  }

  body#product-page .ps-shopping {
    padding: 0 0 36px !important;
  }

  body#product-page .pm-shop-chips {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    margin: 0 0 16px !important;
    padding: 0 0 2px !important;
    scrollbar-width: none;
  }

  body#product-page .pm-shop-chips::-webkit-scrollbar {
    display: none !important;
  }

  body#product-page .pm-shop-chips a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--pm-navy) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  body#product-page .pm-shop-chips a:nth-child(-n+3) {
    display: none !important;
  }

  body#product-page .pm-shop-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body#product-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
  }

  body#product-page .pm-shop-product-card__media {
    height: 224px !important;
    min-height: 224px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px 8px !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body#product-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  body#product-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 17px !important;
  }

  body#product-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    color: var(--pm-muted) !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  body#product-page .pm-shop-product-card__footer {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-top: 4px !important;
  }

  body#product-page .pm-shop-product-card__footer span {
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }

  body#product-page .pm-shop-product-card__add {
    min-width: 60px !important;
    min-height: 34px !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
}

/* Final /products mobile override: match the Vercel shop card flow. */
@media (max-width: 767px) {
  body#product-page .pm-shop-page {
    padding-top: 65px !important;
  }

  body#product-page .pm-shop-hero,
  body#product-page .pm-shop-steps,
  body#product-page .pm-shop-sponsor,
  body#product-page .pm-shop-explore,
  body#product-page .pm-shop-results > .row.d-md-none,
  body#product-page .pm-shop-results__header {
    display: none !important;
  }

  body#product-page .ps-container,
  body#product-page .ps-layout--shop,
  body#product-page .ps-layout__right,
  body#product-page .ps-shopping,
  body#product-page .pm-shop-listing__grid,
  body#product-page .pm-shop-results,
  body#product-page .bb-product-items-wrapper,
  body#product-page .ps-shopping-product,
  body#product-page .pm-shop-products-grid,
  body#product-page .pm-shop-load-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body#product-page .ps-container {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body#product-page .ps-layout--shop,
  body#product-page .pm-shop-listing__grid {
    display: block !important;
  }

  body#product-page .ps-shopping {
    padding: 0 0 36px !important;
  }

  body#product-page .pm-shop-chips {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    margin: 0 0 16px !important;
    padding: 0 0 2px !important;
    scrollbar-width: none;
  }

  body#product-page .pm-shop-chips::-webkit-scrollbar {
    display: none !important;
  }

  body#product-page .pm-shop-chips a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--pm-navy) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  body#product-page .pm-shop-chips a:nth-child(-n+3) {
    display: none !important;
  }

  body#product-page .pm-shop-products-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body#product-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
  }

  body#product-page .pm-shop-product-card__media {
    height: 224px !important;
    min-height: 224px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px 8px !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body#product-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  body#product-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 17px !important;
  }

  body#product-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    color: var(--pm-muted) !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  body#product-page .pm-shop-product-card__footer {
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-top: 4px !important;
  }

  body#product-page .pm-shop-product-card__footer span {
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }

  body#product-page .pm-shop-product-card__add {
    min-width: 60px !important;
    min-height: 34px !important;
    padding: 9px 15px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }
}

/* Mobile /products parity: compact Vercel-style product cards. */
@media (max-width: 767px) {
  .pm-shop-page .ps-layout--shop,
  .pm-shop-page .ps-layout__right,
  .pm-shop-page .ps-shopping,
  .pm-shop-page .pm-shop-listing__grid,
  .pm-shop-page .pm-shop-results,
  .pm-shop-page .bb-product-items-wrapper,
  .pm-shop-page .ps-shopping-product,
  .pm-shop-page .pm-shop-products-grid,
  .pm-shop-page .pm-shop-load-more {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .pm-shop-page .pm-shop-listing__grid {
    display: block !important;
  }

  .pm-shop-page .pm-shop-results > .row.d-md-none,
  .pm-shop-page .pm-shop-results__header {
    display: none !important;
  }

  .pm-shop-page .pm-shop-chips {
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin-bottom: 16px !important;
    padding-bottom: 2px !important;
    scrollbar-width: none;
  }

  .pm-shop-page .pm-shop-chips::-webkit-scrollbar {
    display: none;
  }

  .pm-shop-page .pm-shop-chips a {
    flex: 0 0 auto;
    min-height: 34px;
  }

  .pm-shop-page .pm-shop-products-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .pm-shop-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    border-radius: 20px !important;
  }

  .pm-shop-page .pm-shop-product-card__media {
    height: 216px !important;
    min-height: 216px !important;
    max-height: 216px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  .pm-shop-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 16px !important;
  }

  .pm-shop-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .pm-shop-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  .pm-shop-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .pm-shop-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    font-size: 11px !important;
  }

  .pm-shop-page .pm-shop-product-card__footer {
    align-items: center !important;
    padding-top: 4px !important;
  }

  .pm-shop-page .pm-shop-product-card__footer span {
    font-size: 15px !important;
  }

  .pm-shop-page .pm-shop-product-card__add {
    min-height: 34px !important;
    padding: 9px 16px !important;
  }
}

@media (max-width: 360px) {
  .pm-shop-page .pm-shop-product-card__media {
    height: 206px !important;
    min-height: 206px !important;
    max-height: 206px !important;
  }
}

@media (min-width: 992px) {
  #product-page .pm-product-right-rail .ps-product__info h1 {
    font-family: var(--pm-font-sans) !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    line-height: 40px !important;
    letter-spacing: 0 !important;
    color: rgb(11, 52, 84) !important;
  }
}

/* Final no-horizontal-scroll override. Keep page and off-canvas UI inside the viewport. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body > .ck-content,
.page-store,
.ps-page--product,
.ps-container,
.ck-container,
.pm-site-footer,
.pm-site-footer * {
  max-width: 100% !important;
}

.pm-mini-cart-drawer.ps-cart--mobile {
  right: 0 !important;
  left: auto !important;
  max-width: 100vw !important;
  transform: none !important;
}

body:not(.pm-mini-cart-open) .pm-mini-cart-drawer.ps-cart--mobile {
  pointer-events: none !important;
}

@media (max-width: 991px) {
  .pm-site-footer .ps-footer__copyright {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .pm-site-footer .pm-footer-legal-menu,
  .pm-site-footer .footer-legal-menu {
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }
}

/* Global guard: the site must never expose page-level horizontal scroll. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  position: relative;
}

body > .ck-content,
.page-store,
.ps-page--product,
.ps-container,
.ck-container {
  max-width: 100% !important;
}

.pm-mini-cart-drawer.ps-cart--mobile {
  right: 0 !important;
  left: auto !important;
  max-width: 100vw !important;
  transform: none !important;
}

body:not(.pm-mini-cart-open) .pm-mini-cart-drawer.ps-cart--mobile {
  pointer-events: none !important;
}

/* Final product gallery fix: keep the full product image visible inside Slick. */
#product-page .bb-product-gallery-images .slick-list,
#product-page .bb-product-gallery-images .slick-track,
#product-page .bb-product-gallery-images .slick-slide {
  width: 100% !important;
  height: 100% !important;
}

#product-page .bb-product-gallery-images a.slick-slide {
  display: grid !important;
  place-items: center !important;
}

#product-page .bb-product-gallery-images img {
  width: 90% !important;
  height: 90% !important;
  max-width: 90% !important;
  max-height: 90% !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (min-width: 992px) {
  #product-page .ps-breadcrumb {
    padding: 15px 0 24px !important;
    border-top: 0 !important;
  }

  #product-page .ps-breadcrumb .breadcrumb-custom,
  #product-page .ps-breadcrumb .pm-product-breadcrumb,
  #product-page .ps-breadcrumb .breadcrumb-custom a,
  #product-page .ps-breadcrumb .breadcrumb-custom span,
  #product-page .ps-breadcrumb .breadcrumb-custom strong,
  #product-page .ps-breadcrumb .pm-product-breadcrumb a,
  #product-page .ps-breadcrumb .pm-product-breadcrumb span,
  #product-page .ps-breadcrumb .pm-product-breadcrumb strong {
    line-height: 16px !important;
  }

  #product-page .ps-breadcrumb .breadcrumb-custom,
  #product-page .ps-breadcrumb .pm-product-breadcrumb,
  #product-page .ps-breadcrumb .breadcrumb-custom a,
  #product-page .ps-breadcrumb .breadcrumb-custom span,
  #product-page .ps-breadcrumb .pm-product-breadcrumb a,
  #product-page .ps-breadcrumb .pm-product-breadcrumb span {
    font-family: var(--pm-font-sans) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
  }

  #product-page .ps-breadcrumb .breadcrumb-custom strong,
  #product-page .ps-breadcrumb .pm-product-breadcrumb strong {
    font-family: var(--pm-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 1199px) {
  #product-page {
    padding-bottom: 0px !important;
  }
}

/* Final override: global mobile menu must match the Vercel drawer on every route. */
#menu-mobile.pm-mobile-menu.ps-panel--sidebar {
  width: min(340px, 86vw) !important;
  max-width: 340px !important;
  border-right: 0 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__header {
  height: 69px !important;
  min-height: 69px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #dbeafe !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo {
  width: 170.5px !important;
  max-width: calc(100% - 56px) !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo img {
  display: block !important;
  width: 170.5px !important;
  height: 32px !important;
  max-width: 170.5px !important;
  object-fit: contain !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__content {
  padding: 16px 12px 28px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li {
  min-height: 48px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a {
  display: flex !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li > a {
  font-weight: 600 !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__extra {
  margin-top: 12px !important;
  padding-top: 13px !important;
  border-top: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > i,
#menu-mobile.pm-mobile-menu .menu--mobile > li > a::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: grid !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  color: var(--pm-blue) !important;
  font-size: 18px !important;
  text-align: center !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a::before {
  display: none !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a.pm-mobile-menu__link::before {
  display: none !important;
  content: none !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__icon {
  position: static !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  flex: 0 0 20px !important;
  color: var(--pm-blue) !important;
  stroke: currentColor !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra .pm-mobile-menu__icon {
  color: var(--pm-muted) !important;
}

/* Global mobile drawer parity with the Vercel menu. */
#menu-mobile.pm-mobile-menu.ps-panel--sidebar {
  width: min(340px, 86vw) !important;
  max-width: 340px !important;
  border-right: 0 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__header {
  height: 69px !important;
  min-height: 69px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo {
  width: 170.5px !important;
  max-width: calc(100% - 56px) !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo img {
  display: block !important;
  width: 170.5px !important;
  height: 32px !important;
  max-width: 170.5px !important;
  object-fit: contain !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__content {
  padding: 16px 12px 28px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li {
  min-height: 48px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a {
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  gap: 12px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li > a {
  font-weight: 600 !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__extra {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > i,
#menu-mobile.pm-mobile-menu .menu--mobile > li > a::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: grid !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  color: var(--pm-blue) !important;
  font-size: 18px !important;
  text-align: center !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a::before {
  display: none !important;
}

/* Mobile drawer typography: keep nested labels from falling back to global span rules. */
#menu-mobile.pm-mobile-menu .menu--mobile > li > a span,
.page-store .pm-store-mobile-menu .menu--mobile > li > a span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li > a,
.page-store .pm-store-mobile-menu__nav > li > a {
  font-weight: 600 !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a,
.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

@media (max-width: 991px) {
  body#product-page {
    padding-top: 0 !important;
  }

  body#product-page.show-admin-bar {
    padding-top: 0 !important;
  }

  body#product-page > .ck-content {
    padding-top: 65px !important;
  }

  body#product-page.show-admin-bar > .ck-content {
    padding-top: 65px !important;
  }

  body#product-page > .ps-breadcrumb {
    margin-top: 65px !important;
  }

  body#product-page.show-admin-bar > .ps-breadcrumb {
    margin-top: 65px !important;
  }
}

/* EOF mobile correction for /stores/skd header and hero identity. */
@media (max-width: 991px) {
  html body .page-store .pm-store-profile-header .pm-store-header__top.ck-container {
    position: relative !important;
    display: flex !important;
    height: 84px !important;
    min-height: 84px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 24px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 244.2px !important;
    width: 244.2px !important;
    height: 64px !important;
    min-width: 244.2px !important;
    min-height: 64px !important;
    max-width: 244.2px !important;
    align-items: center !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__logo-shell,
  html body .page-store .pm-store-profile-header .pm-store-header__logo {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__logo img {
    width: 60px !important;
    height: 60.4167px !important;
    object-fit: contain !important;
  }

  html body .page-store .pm-store-profile-header img.pm-store-header__logo {
    box-sizing: border-box !important;
    width: 60px !important;
    height: 60.4167px !important;
    min-width: 60px !important;
    min-height: 60.4167px !important;
    max-width: 60px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: flex !important;
    width: auto !important;
    height: 40px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 0 auto !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__account {
    position: static !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
    box-shadow: none !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart {
    position: static !important;
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count {
    display: inline-flex !important;
    width: auto !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p,
  html body .page-store .store-page.store-page--parish .store-profile-hero__identity small {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p {
    color: #0b3454 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 575px) {
  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__copy {
    display: none !important;
  }
}

/* Absolute last mobile correction for /stores/skd header and hero identity. */
@media (max-width: 991px) {
  html body .page-store .pm-store-profile-header .pm-store-header__top {
    position: relative !important;
    display: flex !important;
    height: 84px !important;
    min-height: 84px !important;
    align-items: center !important;
    gap: 12px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: flex !important;
    width: auto !important;
    height: 40px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__account {
    position: static !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
    box-shadow: none !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart {
    position: static !important;
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count {
    display: inline-flex !important;
    width: auto !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p,
  html body .page-store .store-page.store-page--parish .store-profile-hero__identity small {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p {
    color: #0b3454 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 575px) {
  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* Final mobile pass for the SKD parish profile: match Vercel responsive structure. */
@media (max-width: 991px) {
  html,
  body,
  .page-store,
  .page-store .store-page--parish {
    overflow-x: hidden !important;
  }

  .page-store .pm-store-profile-header.store-identity-shell {
    height: 175px !important;
    min-height: 175px !important;
    background: rgba(255, 255, 255, 0.98) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header.store-identity-nav {
    height: 175px !important;
    min-height: 175px !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, 0.98) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__top {
    display: flex !important;
    max-width: none !important;
    height: 84px !important;
    min-height: 84px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 24px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__menu {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    flex: 0 0 40px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__brand {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 64px !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__logo-shell {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    padding: 2px !important;
    overflow: hidden !important;
    border: 0 !important;
    outline: 1px solid rgba(219, 234, 254, 0.90) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 36px rgba(2, 80, 110, 0.10) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__logo-shell .pm-store-header__logo {
    display: block !important;
    width: 60px !important;
    height: 60.4167px !important;
    max-width: 60px !important;
    max-height: 60.4167px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy strong {
    color: #0b3454 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy small {
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__actions {
    position: static !important;
    display: flex !important;
    width: auto !important;
    height: 40px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__account {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart {
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count {
    width: auto !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search.ck-container {
    position: absolute !important;
    top: 84px !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 24px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search .pm-store-header__search {
    display: block !important;
    width: 100% !important;
    height: 44px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-group--nest {
    display: flex !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    padding: 4px 8px 4px 40px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-control {
    display: block !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 14px !important;
    line-height: 36px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search button[type="submit"] {
    display: inline-flex !important;
    min-width: 78px !important;
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: #0b3454 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__bottom {
    position: absolute !important;
    top: 130px !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 45px !important;
    min-height: 45px !important;
    overflow: visible !important;
    padding: 0 24px !important;
    border-bottom: 1px solid #dbeafe !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs {
    display: flex !important;
    height: 45px !important;
    align-items: center !important;
    gap: 32px !important;
    overflow-x: auto !important;
    padding: 0 96px 0 0 !important;
    white-space: nowrap !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs a {
    display: inline-flex !important;
    height: 45px !important;
    align-items: center !important;
    color: #0b3454 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    text-decoration: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__join {
    position: absolute !important;
    top: 5px !important;
    right: 24px !important;
    display: inline-flex !important;
    height: 36px !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #057ea2, #45b1e1) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .page-store .pm-store-header-spacer {
    height: 175px !important;
    min-height: 175px !important;
  }

  .page-store .store-page--parish .store-page__breadcrumb--overview {
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 24px !important;
  }

  .page-store .store-page--parish .store-profile-hero {
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 24px 32px !important;
  }

  .page-store .store-page--parish .store-profile-hero__card {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }

  .page-store .store-page--parish .store-profile-hero__media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.58 / 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .page-store .store-page--parish .store-profile-hero__content {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 32px 28px 28px !important;
    overflow: visible !important;
  }

  .page-store .store-page--parish .store-profile-hero__content h1 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow-wrap: normal !important;
    color: #0b3454 !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 37.5px !important;
    letter-spacing: 0 !important;
  }

  .page-store .store-page--parish .store-profile-hero__quote {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  .page-store .store-page--parish .store-profile-hero__identity {
    width: 100% !important;
    height: auto !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  .page-store .store-page--parish .store-profile-hero__identity > div {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .page-store .store-page--parish .store-profile-hero__identity p {
    height: auto !important;
    font-size: 14px !important;
    line-height: 18px !important;
  }

  .page-store .store-page--parish .store-profile-hero__identity small {
    height: auto !important;
    font-size: 11px !important;
    line-height: 16px !important;
  }

  .page-store .store-page--parish .store-profile-hero__stats {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .page-store .store-page--parish .store-profile-hero__stats > div {
    height: auto !important;
    min-height: 66px !important;
    padding: 12px !important;
  }

  .page-store .store-page--parish .store-profile-hero__actions {
    width: 100% !important;
    height: auto !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}

@media (max-width: 575px) {
  .page-store .pm-store-profile-header .pm-store-header__top {
    padding: 0 16px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy {
    display: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 1 1 auto !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search.ck-container,
  .page-store .pm-store-profile-header .pm-store-header__bottom {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs {
    gap: 28px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__join {
    right: 16px !important;
  }

  .page-store .store-page--parish .store-page__breadcrumb--overview,
  .page-store .store-page--parish .store-profile-hero {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .page-store .store-page--parish .store-profile-hero__content {
    padding: 28px !important;
  }
}

.pm-site-footer a {
  color: rgba(255, 255, 255, 0.72) !important;
  text-decoration: none !important;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.pm-site-footer a:hover {
  color: #ffffff !important;
}

.pm-site-footer ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-site-footer li {
  margin-bottom: 8px !important;
}

.pm-site-footer .ps-footer__widgets > aside.widget_footer .ps-list--link li {
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 20px !important;
}

.pm-site-footer .ps-footer__widgets > aside.widget_footer .ps-list--link li:last-child {
  margin-bottom: 0 !important;
}

.pm-site-footer .ps-footer__widgets > aside.widget_footer .ps-list--link a,
.pm-site-footer .ps-footer__widgets > aside.widget_footer .ps-list--link .menu-title {
  display: inline-block !important;
  padding: 0 !important;
  line-height: 20px !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child {
  justify-self: start !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child .widget-title {
  display: none !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child h3 {
  display: none !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child .panel-content,
.pm-site-footer .ps-footer__widgets > .panel:last-child .widget_content {
  max-width: 300px !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child p {
  margin: 0 0 16px !important;
  color: rgba(255, 255, 255, 0.70) !important;
  font-size: 14px !important;
  line-height: 19.25px !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child p strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child a.pm-btn,
.pm-site-footer .ps-footer__widgets > .panel:last-child .panel-content > div > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 47px !important;
  width: fit-content !important;
  min-width: 176.58px !important;
  padding: 0 21px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(18, 139, 190, 0.28) !important;
}

.pm-site-footer .ps-footer__widgets > .panel:last-child a.pm-btn:hover,
.pm-site-footer .ps-footer__widgets > .panel:last-child .panel-content > div > a:hover {
  background: #2a9fc9 !important;
  background: linear-gradient(90deg, #057ea2 0%, #45b1e1 100%) !important;
  color: #ffffff !important;
}

.pm-site-footer .widget_contact-us h3 {
  color: #ffffff !important;
  font-size: 20px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.pm-site-footer .panel-content img[alt*="ParishMart"] {
  display: block !important;
  width: auto !important;
  max-width: 255px !important;
  max-height: 80px !important;
  margin: 0px !important;
}

.pm-site-footer .rpw,
.pm-site-footer .rpw i {
  display: block !important;
  max-width: 260px !important;
  color: rgba(255, 255, 255, 0.70) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  padding: 11px 0 3px;
}

.pm-site-footer .ps-list--social {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.pm-site-footer .ps-list--social li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pm-site-footer .ps-list--social a {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  line-height: 1 !important;
  opacity: 1 !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
}

.pm-site-footer .ps-list--social a:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.pm-site-footer .ps-list--social .social-icon,
.pm-site-footer .ps-list--social img,
.pm-site-footer .ps-list--social svg {
  display: none !important;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  object-fit: contain !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}

.pm-site-footer .ps-list--social svg path {
  fill: #ffffff !important;
  stroke: none !important;
}

.pm-site-footer .ps-list--social a::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background: #ffffff !important;
}

.pm-site-footer .ps-list--social a[href*="instagram.com"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1S-.7 127.5-2.4 163.4c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8-.1-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1S-.7 127.5-2.4 163.4c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8-.1-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.pm-site-footer .ps-list--social a[href*="facebook.com"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 320 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06H297V6.26S260.43 0 225.36 0C152.14 0 104.2 44.38 104.2 124.72v70.62H22.89V288h81.31v224h100.25V288z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 320 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06H297V6.26S260.43 0 225.36 0C152.14 0 104.2 44.38 104.2 124.72v70.62H22.89V288h81.31v224h100.25V288z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.pm-site-footer .ps-list--social a[href*="linkedin.com"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 448 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.pm-site-footer .ps-list--social a[href*="youtube.com"]::before,
.pm-site-footer .ps-list--social a[href*="youtu.be"]::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.58 7.19a2.5 2.5 0 0 0-1.76-1.77C18.25 5 12 5 12 5s-6.25 0-7.82.42A2.5 2.5 0 0 0 2.42 7.2 26 26 0 0 0 2 12a26 26 0 0 0 .42 4.81 2.5 2.5 0 0 0 1.76 1.77C5.75 19 12 19 12 19s6.25 0 7.82-.42a2.5 2.5 0 0 0 1.76-1.77A26 26 0 0 0 22 12a26 26 0 0 0-.42-4.81zM10 15.2V8.8l5.5 3.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M21.58 7.19a2.5 2.5 0 0 0-1.76-1.77C18.25 5 12 5 12 5s-6.25 0-7.82.42A2.5 2.5 0 0 0 2.42 7.2 26 26 0 0 0 2 12a26 26 0 0 0 .42 4.81 2.5 2.5 0 0 0 1.76 1.77C5.75 19 12 19 12 19s6.25 0 7.82-.42a2.5 2.5 0 0 0 1.76-1.77A26 26 0 0 0 22 12a26 26 0 0 0-.42-4.81zM10 15.2V8.8l5.5 3.2z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.pm-site-footer .ps-list--social img.social-icon,
.pm-site-footer .ps-list--social img {
  filter: brightness(0) invert(1) !important;
}

.pm-site-footer .ps-footer__links {
  padding: 22px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
}

.pm-site-footer .ps-footer__copyright {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  flex-wrap: nowrap !important;
  max-width: none !important;
  width: 100vw !important;
  min-height: 57px !important;
  margin: 0 0 0 calc(-1 * ((100vw - 1280px) / 2 + 24px)) !important;
  padding: 0 calc((100vw - 1280px) / 2 + 24px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  color: rgba(255, 255, 255, 0.60) !important;
}

.pm-site-footer .ps-footer__copyright p,
.pm-site-footer .site-copyright,
.pm-site-footer .payment-method-title {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.60) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

.pm-site-footer .footer-legal-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin-left: auto !important;
}

.pm-site-footer .pm-footer-legal-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pm-site-footer .pm-footer-legal-menu li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 18px !important;
}

.pm-site-footer .pm-footer-legal-menu a,
.pm-site-footer .pm-footer-legal-menu .menu-title {
  color: rgba(255, 255, 255, 0.64) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.pm-site-footer .pm-footer-legal-menu a:hover,
.pm-site-footer .pm-footer-legal-menu a:hover .menu-title {
  color: rgba(255, 255, 255, 0.90) !important;
}

.pm-site-footer .footer-payments img {
  max-height: 24px;
  filter: saturate(0.85);
}

@media (min-width: 1200px) {
  .pm-site-footer .ps-footer__widgets {
    grid-template-columns: 268px repeat(3, 191.43px) 229.71px !important;
  }

  .pm-site-footer .ps-footer__links {
    width: 100%;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .pm-site-footer .ps-footer__widgets {
    grid-template-columns: minmax(300px, 1.3fr) repeat(2, minmax(150px, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  .pm-site-footer .ps-footer__widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  .pm-site-footer .ps-container {
    padding: 34px 18px 0 !important;
  }

  .pm-site-footer .ps-footer__widgets {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    padding-bottom: 30px !important;
  }

  .pm-site-footer .ps-footer__copyright {
    display: flex !important;
    align-items: center !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    text-align: center !important;
    width: calc(100% + 36px) !important;
    min-height: 0 !important;
    margin-right: -18px !important;
    margin-left: -18px !important;
    padding: 18px 18px 18px !important;
  }

  .pm-site-footer .ps-footer__copyright p,
  .pm-site-footer .site-copyright,
  .pm-site-footer .payment-method-title {
    white-space: normal !important;
  }

  .pm-site-footer .footer-legal-menu {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    margin-left: 0 !important;
  }

  .pm-site-footer .pm-footer-legal-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px 16px !important;
  }

  .pm-site-footer .pm-footer-legal-menu li {
    display: block !important;
    margin: 0 !important;
  }

  #back2top {
    display: none !important;
  }
}

.header--mobile .ps-block--user-header {
  display: none !important;
}

.header--mobile .ps-search--mobile {
  display: none !important;
}

/* Header mini cart: Vercel-style drawer. */
body.pm-mini-cart-open {
  overflow: hidden !important;
}

.pm-mini-cart-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: block;
  width: 100vw;
  height: 100vh;
  padding: 0;
  border: 0;
  background: rgba(8, 40, 67, 0.40);
  opacity: 0;
  visibility: hidden;
  backdrop-filter: blur(4px);
  transition: opacity 0.18s ease, visibility 0.18s ease;
  cursor: default;
}

.pm-mini-cart-drawer.ps-cart--mobile {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 100001 !important;
  width: min(420px, 100vw) !important;
  height: 100vh !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(16px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

.pm-mini-cart-drawer.ps-cart--mobile .ps-cart__content.pm-mini-cart {
  position: static !important;
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  flex-direction: column !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 28px 70px rgba(8, 40, 67, 0.18) !important;
}

body.pm-mini-cart-open .pm-mini-cart-backdrop {
  opacity: 1;
  visibility: visible;
}

body.pm-mini-cart-open .pm-mini-cart-drawer.ps-cart--mobile {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}

.pm-mini-cart__header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid var(--pm-border);
}

.pm-mini-cart__header h3 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.pm-mini-cart__header span {
  display: block;
  margin-top: 2px;
  color: var(--pm-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.pm-mini-cart__close {
  display: grid !important;
  width: 36px;
  height: 36px;
  min-width: 36px;
  place-items: center;
  margin: -2px 0 0 !important;
  border: 1px solid var(--pm-border);
  border-radius: 50%;
  background: #ffffff;
  color: var(--pm-navy) !important;
}

.pm-mini-cart__close i {
  color: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.pm-mini-cart__items.ps-cart__items {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 !important;
  padding: 18px 20px 20px !important;
  overflow-y: auto;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.pm-mini-cart-drawer.ps-cart--mobile,
.pm-mini-cart-drawer.ps-cart--mobile .ps-cart__content {
  min-height: 0 !important;
  padding: 0 !important;
}

.pm-mini-cart__items.ps-cart__items::before {
  display: none !important;
}

.pm-mini-cart__items h4 {
  margin: 0 0 10px !important;
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.pm-mini-cart__product.ps-product--cart-mobile {
  margin: 0 0 14px !important;
  padding: 14px !important;
  border: 1px solid var(--pm-border);
  border-radius: 14px !important;
  background: #ffffff;
  box-shadow: none;
}

.pm-mini-cart__product-content.ps-product__content {
  position: static !important;
  padding: 0 !important;
}

.pm-mini-cart__product-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.pm-mini-cart__product-title {
  display: block !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.pm-mini-cart__product-title:hover {
  color: var(--pm-blue) !important;
}

.pm-mini-cart__product-price {
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
}

.pm-mini-cart__meta,
.pm-mini-cart__support,
.pm-mini-cart__meta p,
.pm-mini-cart__meta small {
  margin: 4px 0 0 !important;
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.pm-mini-cart__support {
  color: var(--pm-blue) !important;
}

.pm-mini-cart__support b {
  color: var(--pm-navy);
  font-weight: 800;
}

.pm-mini-cart__actions {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: var(--pm-pill-radius);
  background: #ffffff;
}

.pm-mini-cart__qty {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: var(--pm-blue);
  font-size: 13px;
  font-weight: 800;
}

.pm-mini-cart__qty span,
.pm-mini-cart__qty b {
  display: inline-grid;
  min-width: 34px;
  height: 32px;
  place-items: center;
  line-height: 1;
}

.pm-mini-cart__qty b {
  color: var(--pm-navy);
}

.pm-mini-cart__remove.ps-product__remove {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  height: 32px !important;
  align-items: center;
  padding: 0 14px !important;
  border-left: 1px solid var(--pm-border);
  color: var(--pm-muted) !important;
  background: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.pm-mini-cart__remove:hover {
  color: var(--pm-blue) !important;
  background: var(--pm-soft) !important;
}

.pm-mini-cart__footer.ps-cart__footer {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 18px 20px 20px !important;
  border: 0 !important;
  border-top: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
}

.pm-mini-cart__summary {
  margin-bottom: 14px;
}

.pm-mini-cart__summary p,
.pm-mini-cart__summary h3 {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 9px !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

.pm-mini-cart__summary h3 {
  margin-top: 12px !important;
  padding-top: 12px;
  border-top: 1px solid var(--pm-border);
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.pm-mini-cart__summary strong {
  color: inherit !important;
  font-weight: 800 !important;
  white-space: nowrap;
}

.pm-mini-cart__footer figure {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px;
  margin: 0 !important;
}

.pm-mini-cart__footer .ps-btn {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 13px 18px !important;
  border-radius: var(--pm-pill-radius) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.pm-mini-cart__checkout {
  color: #ffffff !important;
  border: 1px solid transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
}

.pm-mini-cart__checkout:hover {
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(5, 126, 162, 0.30) !important;
}

.pm-mini-cart__keep-shopping {
  color: var(--pm-blue) !important;
  border: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.pm-mini-cart .cart-empty-message {
  display: block;
  padding: 24px 0;
  color: var(--pm-muted);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 575px) {
  .pm-mini-cart-drawer.ps-cart--mobile {
    right: 0 !important;
    left: auto !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 0 !important;
  }
}

/* Quick shop modal: use the same Vercel skin as product detail. */
#quick-shop-modal {
  z-index: 10005;
  font-family: var(--pm-font-sans) !important;
}

#quick-shop-modal .modal-dialog {
  max-width: 520px !important;
  width: calc(100% - 32px) !important;
  margin: 24px auto !important;
}

#quick-shop-modal .modal-content {
  overflow: hidden;
  border: 1px solid var(--pm-border) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#quick-shop-modal .modal-body {
  padding: 0 !important;
}

#quick-shop-modal .modal-close {
  top: 16px !important;
  right: 16px !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  box-shadow: none !important;
}

#quick-shop-modal .modal-close:hover {
  border-color: var(--pm-blue) !important;
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
}

#quick-shop-modal .modal-close i {
  color: inherit !important;
  font-size: 18px !important;
}

#quick-shop-modal .ps-product--quickshop {
  margin: 0 !important;
  padding: 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#quick-shop-modal .ps-product--quickshop:hover {
  transform: none !important;
  box-shadow: none !important;
}

#quick-shop-modal .ps-product__header {
  display: block !important;
  margin: 0 !important;
}

#quick-shop-modal .ps-product__info {
  max-width: 100% !important;
  padding: 0 !important;
}

#quick-shop-modal .ps-product__info h1 {
  max-width: calc(100% - 56px);
  margin: 0 0 10px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
}

#quick-shop-modal .ps-product__price,
#quick-shop-modal .ps-product__price span {
  margin: 0 0 18px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

#quick-shop-modal .ps-product__price del {
  margin-left: 8px !important;
  color: var(--pm-muted) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

#quick-shop-modal .pr_switch_wrap {
  margin: 0 0 14px !important;
}

#quick-shop-modal .pr_switch_wrap p,
#quick-shop-modal .pr_switch_wrap label,
#quick-shop-modal .product-option-form label,
#quick-shop-modal .ps-product__shopping figcaption,
#quick-shop-modal .bb-product-attribute-swatch-title {
  margin: 0 0 8px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

#quick-shop-modal .pr_switch_wrap .attribute-name,
#quick-shop-modal .pr_switch_wrap .attribute-swatch-title {
  color: var(--pm-navy) !important;
  font-weight: 800 !important;
}

#quick-shop-modal .pr_switch_wrap .attribute-swatch-item,
#quick-shop-modal .pr_switch_wrap .attribute-swatch-item label,
#quick-shop-modal .pr_switch_wrap .attribute-swatch-item span,
#quick-shop-modal .bb-product-attribute-swatch-item,
#quick-shop-modal .bb-product-attribute-swatch-item label,
#quick-shop-modal .bb-product-attribute-swatch-display,
#quick-shop-modal .bb-product-attribute-text-display {
  border-radius: var(--pm-pill-radius) !important;
}

#quick-shop-modal .bb-product-attribute-swatch-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#quick-shop-modal .bb-product-attribute-swatch-item {
  margin: 0 !important;
}

#quick-shop-modal .bb-product-attribute-swatch-item label {
  margin: 0 !important;
}

#quick-shop-modal .bb-product-attribute-text-display {
  display: inline-flex !important;
  min-height: 34px !important;
  align-items: center !important;
  padding: 8px 13px !important;
  border: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#quick-shop-modal .bb-product-attribute-swatch-item input:checked + .bb-product-attribute-text-display {
  border-color: transparent !important;
  background: var(--pm-navy) !important;
  color: #ffffff !important;
}

#quick-shop-modal .bb-product-attribute-swatch-display {
  width: 30px !important;
  height: 30px !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 0 1px var(--pm-border) !important;
}

#quick-shop-modal .bb-product-attribute-swatch-item input:checked + .bb-product-attribute-swatch-display {
  box-shadow: 0 0 0 2px var(--pm-blue) !important;
}

#quick-shop-modal .number-items-available,
#quick-shop-modal .number-items-available span {
  margin: 4px 0 14px !important;
  color: #07865f !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

#quick-shop-modal .ps-product__shopping {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#quick-shop-modal .ps-product__shopping figure {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

#quick-shop-modal .ps-product__shopping figcaption {
  display: block !important;
  margin: 0 0 8px !important;
}

#quick-shop-modal .form-group--number.product__qty {
  position: relative !important;
  display: inline-flex !important;
  width: 118px !important;
  max-width: 118px !important;
  height: 48px !important;
  overflow: hidden !important;
  align-items: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
}

#quick-shop-modal .form-group--number.product__qty .form-control {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-align: center !important;
  box-shadow: none !important;
}

#quick-shop-modal .form-group--number.product__qty button {
  position: absolute !important;
  top: 50% !important;
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--pm-muted) !important;
  transform: translateY(-50%) !important;
}

#quick-shop-modal .form-group--number.product__qty button:hover {
  color: var(--pm-blue) !important;
  background: var(--pm-soft) !important;
}

#quick-shop-modal .form-group--number.product__qty button.down {
  left: 5px !important;
}

#quick-shop-modal .form-group--number.product__qty button.up {
  right: 5px !important;
}

#quick-shop-modal .form-group--number.product__qty button i {
  color: inherit !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

#quick-shop-modal .ps-product__actions {
  display: flex !important;
  width: auto !important;
  flex: 0 1 auto !important;
  gap: 10px !important;
  margin: 0 !important;
}

#quick-shop-modal .ps-product__shopping .ps-btn,
#quick-shop-modal .ps-product__shopping button.ps-btn,
#quick-shop-modal .ps-product__shopping .add-to-cart-button {
  min-width: 170px !important;
  min-height: 48px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 13px 22px !important;
  border: 1px solid transparent !important;
  border-radius: var(--pm-pill-radius) !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

#quick-shop-modal .ps-product__shopping .ps-btn:hover,
#quick-shop-modal .ps-product__shopping button.ps-btn:hover,
#quick-shop-modal .ps-product__shopping .add-to-cart-button:hover {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(5, 126, 162, 0.30) !important;
}

#quick-shop-modal .ps-product__specification {
  display: block !important;
  margin-top: 18px !important;
  padding: 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 18px !important;
  background: #f8fdff !important;
}

#quick-shop-modal .ps-product__specification a {
  color: var(--pm-blue) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

#quick-shop-modal .ps-product__specification a:hover {
  color: var(--pm-navy) !important;
}

#quick-shop-modal .ps-loading {
  min-height: 260px !important;
}

#quick-shop-modal .ps-loading__spinner {
  border-color: var(--pm-border) !important;
  border-top-color: var(--pm-blue) !important;
}

@media (max-width: 575px) {
  #quick-shop-modal .modal-dialog {
    width: calc(100% - 24px) !important;
    margin: 12px auto !important;
  }

  #quick-shop-modal .modal-content {
    border-radius: 22px !important;
  }

  #quick-shop-modal .ps-product--quickshop {
    padding: 22px !important;
  }

  #quick-shop-modal .ps-product__info h1 {
    font-size: 21px !important;
  }

  #quick-shop-modal .ps-product__price,
  #quick-shop-modal .ps-product__price span {
    font-size: 24px !important;
  }

  #quick-shop-modal .ps-product__actions,
  #quick-shop-modal .ps-product__shopping .ps-btn,
  #quick-shop-modal .ps-product__shopping button.ps-btn,
  #quick-shop-modal .ps-product__shopping .add-to-cart-button {
    width: 100% !important;
  }

  #quick-shop-modal .ps-product__shopping {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

body#product-page #quick-shop-modal .ps-product--detail.ps-product--fullwidth.ps-product--quickshop {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop > .modal-body,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__header,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__info {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop > .modal-body {
  display: block !important;
  padding: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__header {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__info {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  max-width: 100% !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__info h1 {
  max-width: calc(100% - 56px) !important;
  margin: 0 0 10px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__price,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__price * {
  margin: 0 0 18px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch-title,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping figcaption {
  margin: 0 0 8px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch,
body#product-page #quick-shop-modal .ps-product--quickshop .attribute-swatches-wrapper,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"].attribute-swatches-wrapper {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch-list,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch-item,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item {
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 400 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch-item label,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item label {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-text-display,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-text-display {
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 34px !important;
  width: auto !important;
  height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 13px !important;
  border: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 13px !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .bb-product-attribute-swatch-item input:checked + .bb-product-attribute-text-display,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item input:checked + .bb-product-attribute-text-display,
body#product-page #quick-shop-modal .ps-product--quickshop .pr_switch_wrap [data-slug="size"] .bb-product-attribute-swatch-item input[type=radio]:checked ~ .bb-product-attribute-text-display {
  border-color: transparent !important;
  background: var(--pm-navy) !important;
  color: #ffffff !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .visual-swatch .bb-product-attribute-swatch-item {
  display: list-item !important;
  width: 30px !important;
  height: 30px !important;
  min-height: auto !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .visual-swatch .bb-product-attribute-swatch-item label {
  display: inline !important;
  width: auto !important;
  height: auto !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .visual-swatch .bb-product-attribute-swatch-display {
  width: 30px !important;
  height: 30px !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping figure {
  display: block !important;
  flex: 0 0 auto !important;
  gap: 0 !important;
  margin: 0 !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .form-group--number.product__qty {
  width: 118px !important;
  max-width: 118px !important;
}

body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping .ps-btn,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping button.ps-btn,
body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping .add-to-cart-button {
  min-width: 170px !important;
  width: auto !important;
  padding: 13px 22px !important;
}

@media (max-width: 575px) {
  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__info h1 {
    font-size: 21px !important;
    line-height: 1.18 !important;
  }

  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__price,
  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__price * {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }

  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body#product-page #quick-shop-modal .ps-product--quickshop .form-group--number.product__qty {
    margin-bottom: 20px !important;
  }

  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__actions,
  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping .ps-btn,
  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping button.ps-btn,
  body#product-page #quick-shop-modal .ps-product--quickshop .ps-product__shopping .add-to-cart-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Search suggestions: compact, readable list instead of catalog cards. */
.ps-form--search-mobile,
.ps-form--primary-search,
.ps-form--quick-search {
  position: relative !important;
}

.ps-form--primary-search {
  overflow: visible !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0, 54, 94, 0.14) !important;
}

.ps-form--search-mobile .form-group--nest,
.ps-form--primary-search .form-group--nest,
.ps-form--quick-search .form-group--nest {
  position: relative !important;
  overflow: visible !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0, 54, 94, 0.10) !important;
}

.ps-form--search-mobile .input-search-product,
.ps-form--primary-search .input-search-product,
.ps-form--quick-search .input-search-product {
  height: 43px !important;
  min-height: 43px !important;
  padding: 0 56px 0 18px !important;
  border: 0 !important;
  border-radius: var(--pm-pill-radius) 0 0 var(--pm-pill-radius) !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.ps-form--search-mobile .input-search-product::placeholder,
.ps-form--primary-search .input-search-product::placeholder,
.ps-form--quick-search .input-search-product::placeholder {
  color: var(--pm-muted) !important;
  opacity: 1 !important;
}

.ps-form--search-mobile .spinner-icon,
.ps-form--primary-search .spinner-icon,
.ps-form--quick-search .spinner-icon {
  position: absolute !important;
  top: 50% !important;
  right: 56px !important;
  z-index: 4 !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -9px !important;
  color: var(--pm-blue) !important;
  font-size: 14px !important;
  line-height: 18px !important;
}

.ps-form--search-mobile button[type="submit"],
.ps-form--primary-search button[type="submit"],
.ps-form--quick-search button[type="submit"],
.ps-form--primary-search > button {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  display: grid !important;
  width: 48px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 0 var(--pm-pill-radius) var(--pm-pill-radius) 0 !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: none !important;
}

.ps-form--search-mobile button[type="submit"]:hover,
.ps-form--primary-search button[type="submit"]:hover,
.ps-form--quick-search button[type="submit"]:hover,
.ps-form--primary-search > button:hover {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  filter: brightness(1.04);
}

.pm-store-profile-header .pm-store-header__search button[type="submit"],
.pm-store-profile-header .pm-store-header__search button[type="submit"]:hover {
  background: #0b3454 !important;
  color: #ffffff !important;
  filter: none !important;
}

.ps-panel--search-result {
  display: none;
}

.ps-panel--search-result.active {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10030 !important;
  display: block !important;
  width: 100% !important;
  max-height: min(68vh, 520px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 50px rgba(0, 54, 94, 0.18) !important;
}

#search-sidebar .ps-panel__header {
  padding: 14px 10px 10px !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

#search-sidebar .ps-form--search-mobile .form-group--nest {
  box-sizing: border-box !important;
  height: 43px !important;
  min-height: 43px !important;
  overflow: visible !important;
  border: 1px solid var(--pm-border) !important;
  box-shadow: none !important;
}

#search-sidebar .ps-form--search-mobile .input-search-product {
  height: 41px !important;
  min-height: 41px !important;
  line-height: 41px !important;
}

#search-sidebar .ps-form--search-mobile button[type="submit"] {
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 48px !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 0 var(--pm-pill-radius) var(--pm-pill-radius) 0 !important;
  clip-path: inset(0 round 0 var(--pm-pill-radius) var(--pm-pill-radius) 0) !important;
}

#search-sidebar .ps-panel--search-result.active {
  max-height: calc(100vh - 98px) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(0, 54, 94, 0.14) !important;
}

.pm-search-results {
  display: grid !important;
  gap: 12px !important;
}

.pm-search-results__section {
  display: grid !important;
  gap: 8px !important;
}

.pm-search-results__label {
  display: block !important;
  padding: 0 4px !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.pm-search-result {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  min-height: 72px !important;
  align-items: center !important;
  padding: 9px 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(0, 54, 94, 0.06) !important;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.pm-search-result:hover {
  border-color: rgba(0, 119, 182, 0.34) !important;
  background: #f7fcff !important;
  color: var(--pm-navy) !important;
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0, 54, 94, 0.10) !important;
}

.pm-search-result--store {
  grid-template-columns: 52px minmax(0, 1fr) !important;
}

.pm-search-result__media {
  display: grid !important;
  width: 52px !important;
  height: 52px !important;
  overflow: hidden !important;
  place-items: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 14px !important;
  background: #f8fdff !important;
}

.pm-search-result__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 5px !important;
}

.pm-search-result__content {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
}

.pm-search-result__title {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.pm-search-result__meta {
  overflow: hidden !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pm-search-result__price {
  display: grid !important;
  min-width: 72px !important;
  justify-items: end !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.pm-search-result__price del {
  margin-top: 3px !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.pm-search-results__footer {
  margin-top: 10px !important;
}

.pm-search-results__footer a {
  display: flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  color: var(--pm-blue) !important;
  background: #f8fdff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

.pm-search-results__footer a:hover {
  border-color: rgba(0, 119, 182, 0.34) !important;
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

.pm-search-results__empty {
  display: grid !important;
  gap: 4px !important;
  padding: 18px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #f8fdff !important;
  color: var(--pm-muted) !important;
  text-align: center !important;
}

.pm-search-results__empty strong {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
}

.pm-search-results__empty span {
  font-size: 12px !important;
  font-weight: 600 !important;
}

@media (max-width: 575px) {
  .ps-panel--search-result.active {
    max-height: min(66vh, 460px) !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .pm-search-result {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .pm-search-result__media {
    width: 48px !important;
    height: 48px !important;
  }

  .pm-search-result__price {
    grid-column: 2 !important;
    justify-items: start !important;
    min-width: 0 !important;
  }
}

/* Mobile menu drawer: Vercel-style navigation with the cart overlay treatment. */

/* Header cart pill: matches the Vercel cart control instead of the circular legacy icon. */
.pm-site-header__cart > .pm-cart-pill.header__extra,
.store-identity-nav__cart > .pm-cart-pill.header__extra,
.pm-mobile-header__cart.pm-cart-pill,
.header--mobile .ps-cart--mini > .pm-cart-pill.btn-shopping-cart {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pm-site-header__cart > .pm-cart-pill.header__extra:hover,
.store-identity-nav__cart > .pm-cart-pill.header__extra:hover,
.pm-mobile-header__cart.pm-cart-pill:hover,
.header--mobile .ps-cart--mini > .pm-cart-pill.btn-shopping-cart:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-blue) !important;
  background: #ffffff !important;
}

.pm-cart-pill .pm-cart-pill__icon {
  display: block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  color: currentColor !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.pm-site-header .pm-cart-pill .pm-cart-pill__count,
.store-identity-nav__cart .pm-cart-pill .pm-cart-pill__count,
.pm-mobile-header__cart.pm-cart-pill > .pm-cart-pill__count,
.header--mobile .pm-cart-pill .pm-cart-pill__count {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  width: auto !important;
  min-width: 20px !important;
  height: 20px !important;
  place-items: center !important;
  padding: 0 6px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

.pm-cart-pill .pm-cart-pill__count.pm-cart-pill__count--empty {
  display: none !important;
}

.pm-site-header .pm-cart-pill .pm-cart-pill__count i,
.store-identity-nav__cart .pm-cart-pill .pm-cart-pill__count i,
.pm-mobile-header__cart.pm-cart-pill > .pm-cart-pill__count i,
.header--mobile .pm-cart-pill .pm-cart-pill__count i {
  color: #ffffff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
body.pm-menu-open {
  overflow: hidden !important;
}

body.pm-menu-open .ps-site-overlay.active {
  z-index: 100000 !important;
  background: rgba(8, 40, 67, 0.40) !important;
  opacity: 1 !important;
  visibility: visible !important;
  backdrop-filter: blur(4px);
}

#menu-mobile.pm-mobile-menu.ps-panel--sidebar {
  z-index: 100001 !important;
  display: flex !important;
  width: min(360px, 88vw) !important;
  max-width: 360px !important;
  height: 100vh !important;
  overflow: hidden !important;
  flex-direction: column !important;
  border-right: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  box-shadow: 0 28px 70px rgba(8, 40, 67, 0.18) !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__header {
  display: flex !important;
  min-height: 66px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 14px 14px 16px !important;
  border-bottom: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  text-align: left !important;
}

.pm-mobile-menu__logo {
  display: inline-flex !important;
  align-items: center !important;
  width: 176px !important;
  max-width: calc(100% - 58px) !important;
}

.pm-mobile-menu__logo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.pm-mobile-menu__close {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  box-shadow: none !important;
}

.pm-mobile-menu__close:hover {
  border-color: var(--pm-blue) !important;
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
}

.pm-mobile-menu__close i {
  color: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 18px 6px 24px !important;
  background: #ffffff !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile,
#menu-mobile.pm-mobile-menu .menu--mobile ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li {
  position: relative !important;
  margin: 0 !important;
  border: 0 !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a {
  position: relative !important;
  display: flex !important;
  min-height: 48px !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 14px 12px 44px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: var(--pm-navy) !important;
  background: transparent !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a:hover,
#menu-mobile.pm-mobile-menu .menu--mobile > li.current-menu-item > a,
#menu-mobile.pm-mobile-menu .menu--mobile > li.current_page_item > a {
  color: var(--pm-blue) !important;
  background: #f4fbff !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > i,
#menu-mobile.pm-mobile-menu .menu--mobile > li > a::before {
  position: absolute !important;
  top: 50% !important;
  left: 14px !important;
  display: grid !important;
  width: 20px !important;
  height: 20px !important;
  place-items: center !important;
  color: var(--pm-blue) !important;
  font-family: Linearicons !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > i {
  font-family: Linearicons !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li > a::before {
  content: "\e74c";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li:nth-child(1) > a::before {
  content: "\e74c";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li:nth-child(2) > a::before {
  content: "\e744";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li:nth-child(3) > a::before {
  content: "\e7ff";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li:nth-child(4) > a::before {
  content: "\e957";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li:nth-child(5) > a::before {
  content: "\e696";
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="home"]::before {
  content: "\e600" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="marketplace"]::before,
#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="shop"]::before {
  content: "\e74c" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="store"]::before,
#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="business"]::before {
  content: "\e744" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="giving"]::before,
#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="give"]::before {
  content: "\e7ff" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="faq"]::before {
  content: "\e957" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="contact"]::before {
  content: "\e696" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="community"]::before,
#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="communities"]::before {
  content: "\e722" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav a[href*="sponsor"]::before {
  content: "\e8ae" !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__extra {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a > i {
  color: var(--pm-muted) !important;
  font-size: 18px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a::before {
  display: none !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a span {
  display: inline-block !important;
}

#menu-mobile.pm-mobile-menu .menu-item-has-children > .sub-toggle {
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  display: grid !important;
  width: 32px !important;
  height: 32px !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: var(--pm-muted) !important;
}

#menu-mobile.pm-mobile-menu .menu-item-has-children > .sub-toggle::before {
  color: inherit !important;
  font-size: 12px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile .sub-menu {
  display: none;
  margin: 2px 0 8px 44px !important;
  padding: 4px 0 4px 10px !important;
  border-left: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile .sub-menu a {
  display: flex !important;
  min-height: 34px !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile .sub-menu a:hover {
  color: var(--pm-blue) !important;
  background: #f4fbff !important;
}

.pm-mobile-menu__footer {
  flex: 0 0 auto !important;
  padding: 18px 12px !important;
  border-top: 1px solid var(--pm-border) !important;
  background: #f8fdff !important;
}

.pm-mobile-menu__language {
  position: relative !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.pm-mobile-menu__language-toggle {
  display: inline-flex !important;
  min-width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  color: var(--pm-navy) !important;
  background: #ffffff !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.pm-mobile-menu__language-toggle:hover,
.pm-mobile-menu__language.is-open .pm-mobile-menu__language-toggle {
  border-color: var(--pm-blue) !important;
  color: var(--pm-blue) !important;
  background: #ffffff !important;
}

.pm-mobile-menu__language-list {
  position: absolute !important;
  right: 0 !important;
  bottom: calc(100% + 10px) !important;
  z-index: 2 !important;
  display: grid !important;
  min-width: 170px !important;
  gap: 4px !important;
  padding: 8px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(0, 54, 94, 0.14) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease !important;
}

.pm-mobile-menu__language.is-open .pm-mobile-menu__language-list {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.pm-mobile-menu__language-list a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 9px 10px !important;
  border-radius: 11px !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}

.pm-mobile-menu__language-list a:hover,
.pm-mobile-menu__language-list a.active {
  color: var(--pm-blue) !important;
  background: #f4fbff !important;
}

.pm-mobile-menu__language-list small {
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

@media (max-width: 575px) {
  #menu-mobile.pm-mobile-menu.ps-panel--sidebar {
    width: min(328px, 88vw) !important;
    max-width: 328px !important;
  }

  .pm-mobile-menu__logo {
    width: 168px !important;
  }
}

/* Site feature strip: align footer benefit icons and copy with the home typography. */
.ps-site-features {
  background: #f8fdff !important;
}

#homepage-1 .ps-site-features,
.ps-site-features {
  padding: 52px 0 !important;
}

.ps-block--site-features {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.ps-block--site-features .ps-block__item {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 96px !important;
  padding: 12px 44px !important;
  border: 0 !important;
  border-right: 1px solid var(--pm-border) !important;
}

.ps-block--site-features .ps-block__item:first-child {
  padding-left: 28px !important;
}

.ps-block--site-features .ps-block__item:last-child {
  padding-right: 28px !important;
  border-right: 0 !important;
}

.ps-block--site-features .ps-block__left {
  display: grid !important;
  width: 54px !important;
  height: 54px !important;
  place-items: center !important;
}

.ps-block--site-features .ps-block__left i,
.ps-block--site-features .ps-block__left svg {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  color: var(--pm-blue) !important;
  fill: none;
  font-size: 40px !important;
  line-height: 1 !important;
}

.ps-block--site-features .ps-block__left svg path,
.ps-block--site-features .ps-block__left svg circle,
.ps-block--site-features .ps-block__left svg rect,
.ps-block--site-features .ps-block__left svg line,
.ps-block--site-features .ps-block__left svg polyline {
  stroke: currentColor !important;
}

.ps-block--site-features .ps-block__right {
  display: grid !important;
  min-width: 0 !important;
  gap: 4px !important;
  padding: 0 !important;
}

.ps-block--site-features .ps-block__right h4,
.ps-block--site-features .ps-block__right p {
  font-family: var(--pm-font-sans) !important;
  letter-spacing: 0 !important;
}

.ps-block--site-features .ps-block__right h4 {
  max-width: 190px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  line-height: 1.18 !important;
}

.ps-block--site-features .ps-block__right p {
  max-width: 180px !important;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

@media (max-width: 1199px) {
  .ps-block--site-features {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ps-block--site-features .ps-block__item:nth-child(2n) {
    border-right: 0 !important;
  }
}

@media (max-width: 767px) {
  #homepage-1 .ps-site-features,
  .ps-site-features {
    padding: 30px 0 !important;
  }

  .ps-block--site-features {
    grid-template-columns: 1fr !important;
  }

  .ps-block--site-features .ps-block__item,
  .ps-block--site-features .ps-block__item:first-child,
  .ps-block--site-features .ps-block__item:last-child {
    min-height: 0 !important;
    padding: 16px 10px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--pm-border) !important;
  }

  .ps-block--site-features .ps-block__item:last-child {
    border-bottom: 0 !important;
  }

  .ps-block--site-features .ps-block__right h4,
  .ps-block--site-features .ps-block__right p {
    max-width: none !important;
  }
}

/* Newsletter strip: homologated with the home footer strip. */
.ps-newsletter,
.ps-newsletter *,
.ps-form--newsletter,
.ps-form--newsletter * {
  font-family: var(--pm-font-sans) !important;
  letter-spacing: 0 !important;
}

.ps-newsletter {
  margin: 0 !important;
  padding: 44px 0 !important;
  background: var(--pm-navy-deep) !important;
}

.ps-newsletter .ps-container,
.ps-newsletter .newsletter-form {
  max-width: 1280px !important;
}

.ps-form--newsletter {
  margin: 0 !important;
}

.ps-form--newsletter .row {
  min-height: 92px !important;
  align-items: center !important;
}

.ps-form--newsletter .ps-form__left {
  padding: 0 !important;
}

.ps-form--newsletter .ps-form__left h3,
.ps-form--newsletter h3 {
  margin: 0 0 6px !important;
  color: #ffffff !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 32px !important;
}

.ps-form--newsletter .ps-form__left p,
.ps-form--newsletter p {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

.ps-form--newsletter .ps-form__right {
  padding: 0 !important;
}

.ps-form--newsletter .form-group--nest {
  display: flex !important;
  min-height: 52px !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.ps-form--newsletter .form-control {
  min-height: 52px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.ps-form--newsletter .ps-btn,
.ps-form--newsletter button {
  min-width: 156px !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

@media (max-width: 767px) {
  .ps-newsletter {
    padding: 32px 0 !important;
  }

  .ps-form--newsletter .row {
    gap: 18px !important;
  }

  .ps-form--newsletter .form-group--nest {
    flex-direction: column !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    gap: 10px !important;
  }

  .ps-form--newsletter .form-control,
  .ps-form--newsletter .ps-btn,
  .ps-form--newsletter button {
    width: 100% !important;
    border-radius: var(--pm-pill-radius) !important;
  }
}

/* Back to top: blue control with white arrow. */
#back2top {
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.28) !important;
}

#back2top i,
#back2top .icon,
#back2top svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

#back2top:hover {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 18px 34px rgba(5, 126, 162, 0.34) !important;
  transform: translateY(-2px);
}

@media (max-width: 575px) {
  #back2top {
    display: none !important;
  }
}

/* Parish reviews shortcode: Vercel-style testimonials below Give with Love. */
.pm-reviews-section {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
}

.pm-reviews-section__inner {
  width: 100% !important;
}

.pm-reviews-section__header {
  margin-bottom: 24px !important;
}

.pm-reviews-section__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: -0.025em !important;
}

.pm-reviews-section__header p {
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-reviews-section__grid {
  display: grid !important;
  gap: 16px !important;
}

.pm-review-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 150px !important;
  padding: 20px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
}

.pm-review-card:hover {
  border-color: #bfe2ff !important;
  box-shadow: var(--pm-soft-shadow) !important;
  transform: translateY(-2px) !important;
}

.pm-review-card__message {
  margin: 0 !important;
  color: var(--pm-ink) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-review-card__person {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 12px !important;
}

.pm-review-card__avatar {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(13, 145, 184, 0.22) !important;
}

.pm-review-card__person strong,
.pm-review-card__person small {
  display: block !important;
}

.pm-review-card__person strong {
  color: var(--pm-navy) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

.pm-review-card__person small {
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
}

@media (min-width: 768px) {
  .pm-reviews-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .pm-reviews-section {
    padding: 28px 16px 38px !important;
  }

  .pm-reviews-section__header h2 {
    font-size: 26px !important;
    line-height: 32px !important;
  }
}

/* Home rhythm refinements: spacing, type and section separation. */
.pm-home-hero,
.pm-ecosystem,
.pm-featured-products,
.pm-give-section,
.pm-how-it-works,
.pm-reviews-section {
  box-sizing: border-box !important;
}

.pm-home-hero h1,
.pm-ecosystem__header h2,
.pm-ecosystem__role h3,
.pm-featured-products .pm-featured-products__header h3,
.pm-featured-products .pm-featured-products__header .title_site,
.pm-give-section__header h2,
.pm-how-it-works h2,
.pm-reviews-section__header h2 {
  letter-spacing: 0 !important;
}

.pm-home-hero h1 {
  letter-spacing: -0.025em !important;
}

.pm-ecosystem__header h2,
.pm-ecosystem__role h3 {
  font-family: var(--pm-font-sans) !important;
  letter-spacing: -0.025em !important;
}

.pm-ecosystem__header p,
.pm-ecosystem__role-grid p,
.pm-ecosystem__option,
.pm-ecosystem__option *,
.pm-ecosystem__showcase,
.pm-ecosystem__showcase *,
.pm-ecosystem__store-card,
.pm-ecosystem__store-card * {
  font-family: var(--pm-font-sans) !important;
}

.pm-ecosystem__option strong {
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
}

.pm-ecosystem__role .pm-ecosystem__option > strong {
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
}

.pm-how-it-works,
.pm-how-it-works h2,
.pm-how-it-works p,
.pm-how-it-works span,
.pm-how-it-works strong,
.pm-how-it-works div {
  font-family: var(--pm-font-sans) !important;
}

.pm-featured-products,
.pm-featured-products h3,
.pm-featured-products p,
.pm-featured-products span,
.pm-featured-products a,
.pm-featured-products div {
  font-family: var(--pm-font-sans) !important;
}

.pm-featured-products .pm-featured-products__header h3,
.pm-featured-products .pm-featured-products__header .title_site,
.pm-featured-products .ps-product__title {
  font-family: var(--pm-font-sans) !important;
}

.pm-give-section,
.pm-give-section h2,
.pm-give-section h3,
.pm-give-section p,
.pm-give-section span,
.pm-give-section a,
.pm-give-section div,
.pm-reviews-section,
.pm-reviews-section h2,
.pm-reviews-section p,
.pm-reviews-section span,
.pm-reviews-section strong,
.pm-reviews-section small,
.pm-reviews-section article,
.pm-reviews-section div {
  font-family: var(--pm-font-sans) !important;
}

.pm-home-hero h1 .pm-gradient-text {
  display: inline !important;
  font-family: inherit !important;
  letter-spacing: inherit !important;
  position: relative !important;
}

.pm-home-hero h1 .pm-gradient-text:first-of-type {
  top: 0.75px !important;
}

.pm-home-hero h1 .pm-gradient-text:nth-of-type(2) {
  top: -0.75px !important;
}

.pm-home-hero,
.pm-home-hero .pm-kicker,
.pm-home-hero h1,
.pm-home-hero h1 .pm-gradient-text,
.pm-home-hero p,
.pm-home-hero input,
.pm-home-hero button,
.pm-home-hero a,
.pm-home-hero h3,
.pm-home-hero strong,
.pm-home-hero .pm-label,
.pm-home-hero .pm-btn,
.pm-home-hero .pm-input,
.pm-home-hero .text-\[10px\],
.pm-home-hero .text-base {
  font-family: var(--pm-font-sans) !important;
}

.pm-home-hero > .mt-8 .pm-card {
  min-height: 60px !important;
  padding: 12px 16px !important;
  border-radius: 24px !important;
}

.pm-home-hero > .mt-8 .pm-card p {
  font-size: 14px !important;
  line-height: 20px !important;
}

@media (min-width: 768px) {
  .pm-home-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .pm-ecosystem,
  .pm-featured-products,
  .pm-give-section,
  .pm-how-it-works {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .pm-reviews-section {
    padding-top: 40px !important;
  }
}

/* Home product row: compact Vercel card treatment. */
.pm-featured-products {
  max-width: 1280px !important;
  padding: 40px 24px !important;
}

.pm-featured-products .pm-featured-products__header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
}

.pm-featured-products .pm-featured-products__header h3,
.pm-featured-products .pm-featured-products__header .title_site {
  font-size: 30px !important;
  line-height: 36px !important;
  letter-spacing: -0.025em !important;
}

.pm-featured-products .ps-section__content {
  margin: 0 !important;
  padding: 0 !important;
}

.pm-featured-products__grid {
  gap: 16px !important;
}

.pm-featured-products__grid > .ps-product {
  height: auto !important;
  margin-bottom: 0 !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) {
  height: 369px !important;
  min-height: 369px !important;
  padding: 0 !important;
  border-color: #dbeafe !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky):hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 52px rgba(2, 80, 110, 0.12) !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail {
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  border: 0 !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail > a {
  display: grid !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  place-items: center !important;
  padding: 0 !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__thumbnail img {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) > .ps-product__container {
  gap: 0 !important;
  padding: 16px !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__content {
  gap: 2px !important;
}

.pm-featured-products .pm-product-card__label,
.pm-featured-products .pm-product-card__view {
  display: none !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title {
  min-height: 35px !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__title:hover {
  color: var(--pm-blue) !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__desc {
  min-height: 33px !important;
  font-size: 11px !important;
  line-height: 16.5px !important;
}

.pm-featured-products .pm-product-card__footer {
  gap: 10px !important;
  padding-top: 0 !important;
}

.pm-featured-products .ps-product:not(.ps-product--wide):not(.ps-product--detail):not(.ps-product--cart):not(.ps-product--cart-mobile):not(.ps-product--search-result):not(.ps-product--header-sticky) .ps-product__price {
  font-size: 14px !important;
  line-height: 20px !important;
}

.pm-featured-products .pm-product-card__add {
  min-width: 61.19px !important;
  min-height: 32.67px !important;
  padding: 6px 16px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18.67px !important;
}

@media (max-width: 767px) {
  .pm-featured-products {
    padding: 24px 14px 28px !important;
  }

  .pm-featured-products__header {
    align-items: flex-start !important;
  }

  .pm-featured-products .pm-featured-products__header h3,
  .pm-featured-products .pm-featured-products__header .title_site {
    font-size: 23px !important;
    line-height: 28px !important;
  }

  .pm-featured-products__header p {
    font-size: 13px !important;
    line-height: 19px !important;
  }

  .pm-featured-products__view-all {
    font-size: 13px !important;
    line-height: 18px !important;
  }
}

/* Home Give with Love: donation cards matching the Vercel reference. */
.pm-give-section {
  max-width: 1280px !important;
  padding: 40px 24px !important;
}

.pm-give-section__header {
  align-items: flex-end !important;
  margin-bottom: 24px !important;
}

.pm-give-section__header h2 {
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 36px !important;
}

.pm-give-section__header p {
  margin-top: 4px !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

.pm-give-section__header > a {
  display: block !important;
  margin-right: 4px !important;
  color: #102a43 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.pm-give-section__grid {
  gap: 16px !important;
}

.pm-give-section .pm-give-card.pm-card {
  min-height: 371.16px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dbeafe !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
}

.pm-give-section .pm-give-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 52px rgba(2, 80, 110, 0.12) !important;
}

.pm-give-section .pm-give-card__media {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
}

.pm-give-section .pm-give-card__media::after {
  display: none !important;
}

.pm-give-section .pm-give-card__media > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 24px 24px 0 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.pm-give-section .pm-give-card__media > span {
  position: absolute !important;
  z-index: 2 !important;
  right: 12px !important;
  bottom: 0 !important;
  width: 80px !important;
  height: 80px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 35px rgba(8, 40, 67, 0.12) !important;
  outline: 2px solid #ffffff !important;
  transform: translateY(25%) !important;
}

.pm-give-section .pm-give-card__media > span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.pm-give-section .pm-give-card__body {
  gap: 8px !important;
  padding: 32px 12px 12px !important;
}

.pm-give-section .pm-give-card__body h3 {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
}

.pm-give-section .pm-give-card__location {
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
}

.pm-give-section .pm-give-card__body > p:not(.pm-give-card__location) {
  display: block !important;
  min-height: 16px !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 16px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pm-give-section .pm-give-card__body > div {
  margin-top: auto !important;
  padding-top: 0 !important;
}

.pm-give-section .pm-give-card__button {
  min-height: 32.67px !important;
  padding: 6px 16px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18.67px !important;
  box-shadow: none !important;
}

.pm-give-section .pm-give-card__button:hover {
  border-color: var(--pm-blue) !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
}

.pm-give-section__header h2,
.pm-reviews-section__header h2 {
  letter-spacing: -0.025em !important;
}

@media (max-width: 767px) {
  .pm-give-section {
    padding: 24px 14px 30px !important;
  }

  .pm-give-section__header {
    align-items: flex-start !important;
  }

  .pm-give-section__header h2 {
    font-size: 23px !important;
    line-height: 28px !important;
  }

  .pm-give-section__header p {
    font-size: 13px !important;
    line-height: 19px !important;
  }

  .pm-give-section__header > a {
    font-size: 13px !important;
    line-height: 18px !important;
  }
}

/* Keep the ParishMart header pinned while scrolling. */
.pm-site-header.header.header--1,
.pm-site-header.header.header--1.header--sticky,
.header--mobile,
.header--mobile.header--sticky {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1000 !important;
  transform: none !important;
}

.pm-site-header.header.header--1.header--sticky,
.header--mobile.header--sticky {
  opacity: 1 !important;
  visibility: visible !important;
}

body.show-admin-bar .pm-site-header.header.header--1,
body.show-admin-bar .pm-site-header.header.header--1.header--sticky,
body.show-admin-bar .header--mobile,
body.show-admin-bar .header--mobile.header--sticky {
  top: 40px !important;
}

@media (min-width: 992px) {
  body#product-page > .ck-content {
    padding-top: 65px !important;
  }

  body#product-page.show-admin-bar > .ck-content {
    padding-top: 65px !important;
  }
}

#homepage-1 {
  padding-top: 65px !important;
}

@media (max-width: 767px) {
  .pm-home-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .pm-home-hero .max-w-xl,
  .pm-home-hero p {
    max-width: 100% !important;
  }

  .header--mobile,
  .header--mobile .navigation--mobile {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  .header--mobile .navigation--mobile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 58px auto !important;
    gap: 8px !important;
    justify-content: stretch !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .header--mobile .navigation__left {
    padding-right: 0 !important;
  }

  .header--mobile .ps-logo img {
    height: auto !important;
    max-width: 149.167px !important;
    max-height: 40px !important;
  }

  .pm-mobile-header__cart.pm-cart-pill {
    position: static !important;
    width: 58px !important;
    min-width: 58px !important;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .pm-mobile-header__join {
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
    font-size: 14px !important;
    line-height: 18.6667px !important;
  }

  .pm-home-hero h1 {
    font-size: 36px !important;
    font-weight: 800 !important;
    line-height: 36.8px !important;
    max-width: 100% !important;
  }

  .pm-home-hero h1 .pm-gradient-text {
    font-weight: 800 !important;
  }

  .pm-home-hero h1 .pm-gradient-text:first-of-type {
    top: 0.5px !important;
  }

  .pm-home-hero h1 .pm-gradient-text:nth-of-type(2) {
    top: -0.5px !important;
  }

  .pm-home-hero form[role="search"] {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) 74px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
    max-width: calc(100vw - 32px) !important;
    min-height: 54px !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
  }

  .pm-home-hero form[role="search"] svg {
    flex: 0 0 20px !important;
    margin-left: 0 !important;
  }

  .pm-home-hero form[role="search"] .pm-input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 40px !important;
    padding-right: 2px !important;
  }

  .pm-home-hero form[role="search"] .pm-btn {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .pm-home-hero > .grid > .pm-card {
    padding: 12px !important;
  }

  .pm-home-hero .space-y-3 {
    padding: 16px !important;
  }

  .pm-home-hero .space-y-3 > * + * {
    margin-top: 12px !important;
  }

  .pm-home-hero h3 {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  .pm-home-hero .grid-cols-3 > .rounded-2xl {
    min-width: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .pm-home-hero .grid-cols-3 .text-\[10px\] {
    font-size: 10px !important;
    line-height: 15px !important;
  }

  .pm-home-hero .grid-cols-3 .text-base {
    font-size: 16px !important;
    line-height: 24px !important;
  }
}

@media (max-width: 380px) {
  .header--mobile,
  .header--mobile .navigation--mobile,
  .pm-home-hero {
    width: 375px !important;
    max-width: 100vw !important;
  }

  .pm-home-hero > .grid > div:first-child .max-w-xl,
  .pm-home-hero > .grid > div:first-child p,
  .pm-home-hero form[role="search"] {
    width: 343px !important;
    max-width: calc(100vw - 32px) !important;
  }

  .header--mobile .navigation--mobile {
    grid-template-columns: minmax(0, 1fr) 40px auto !important;
    gap: 8px !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .header--mobile .navigation__left {
    gap: 10px !important;
    padding-right: 0 !important;
  }

  .header--mobile .ps-logo img {
    height: auto !important;
    max-width: 149.167px !important;
    max-height: 40px !important;
  }

  .pm-mobile-header__cart.pm-cart-pill {
    width: 40px !important;
    min-width: 40px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  .pm-mobile-header__join {
    width: auto !important;
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 18.6667px !important;
  }

  .pm-home-hero h1 {
    font-size: 32px !important;
  }
}

/* Store profile header: final alignment against the Vercel header markup. */
.page-store .pm-store-profile-header.store-identity-shell {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid rgba(219, 234, 254, 0.70) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.page-store .pm-store-profile-header.store-identity-shell *,
.page-store .pm-store-profile-header .pm-store-header.store-identity-nav.is-stuck * {
  opacity: 1 !important;
  filter: none !important;
}

.page-store .pm-store-header__top.ck-container,
.page-store .pm-store-header__bottom.ck-container,
.page-store .pm-store-header__mobile-search.ck-container {
  max-width: 1320px !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.page-store .pm-store-header__top {
  min-height: 84px !important;
  gap: 12px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.page-store .pm-store-header__menu,
.page-store .pm-store-header__account {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
}

.page-store .pm-store-header__menu i,
.page-store .pm-store-header__account i {
  font-size: 20px !important;
}

.page-store .pm-store-header__brand {
  min-width: 250px !important;
  max-width: 300px !important;
  gap: 12px !important;
}

.page-store .pm-store-header__logo {
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px !important;
  padding: 2px !important;
  box-shadow: 0 14px 30px rgba(2, 80, 110, 0.10) !important;
}

.page-store .pm-store-header__copy {
  line-height: 1.1 !important;
}

.page-store .pm-store-header__copy strong {
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.page-store .pm-store-header__copy small {
  margin-top: 2px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.page-store .pm-store-header__search.ps-form--search-mobile {
  margin-left: 12px !important;
}

.page-store .pm-store-header__search .form-group--nest {
  min-height: 46px !important;
  height: 46px !important;
  padding: 4px 6px 4px 38px !important;
  gap: 8px !important;
  border-color: var(--pm-border) !important;
  box-shadow: 0 14px 30px rgba(2, 80, 110, 0.08) !important;
}

.page-store .pm-store-header__search-icon {
  left: 14px !important;
  font-size: 16px !important;
}

.page-store .pm-store-header__search .form-control {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 4px !important;
  font-size: 14px !important;
  line-height: 36px !important;
}

.page-store .pm-store-profile-header .pm-store-header__search button[type="submit"],
.page-store .pm-store-profile-header .pm-store-header__search button[type="submit"]:hover {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 78px !important;
  height: 34px !important;
  min-height: 34px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: #0b3454 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  filter: none !important;
}

.page-store .pm-store-header__actions {
  gap: 8px !important;
}

.page-store .pm-store-header__language-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

.page-store .pm-store-header__language {
  display: inline-flex !important;
  width: auto !important;
  height: 34px !important;
  min-width: 45px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.page-store .pm-store-header__language-menu {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  z-index: 100080 !important;
  display: block !important;
  min-width: 58px !important;
  padding: 8px 6px 6px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(8, 40, 67, 0.16) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translate(-50%, -4px) !important;
  visibility: hidden !important;
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease !important;
}

.page-store .pm-store-header__language-wrap.is-open .pm-store-header__language-menu,
.page-store .pm-store-header__language-wrap:hover .pm-store-header__language-menu,
.page-store .pm-store-header__language-wrap:focus-within .pm-store-header__language-menu {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translate(-50%, 0) !important;
  visibility: visible !important;
}

.page-store .pm-store-header__language-menu a {
  display: flex !important;
  min-height: 36px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.page-store .pm-store-header__language-menu a:hover,
.page-store .pm-store-header__language-menu a:focus {
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
}

.page-store .pm-store-header__cart.store-identity-nav__cart {
  height: 40px !important;
}

.page-store .pm-store-header__cart .header__extra.pm-cart-pill {
  display: inline-flex !important;
  width: auto !important;
  min-width: 66px !important;
  height: 40px !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
}

.page-store .pm-store-header__cart .pm-cart-pill__icon {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

.page-store .pm-store-header__cart .header__extra.pm-cart-pill span {
  position: static !important;
  display: grid !important;
  width: auto !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  place-items: center !important;
  transform: none !important;
}

.page-store .pm-store-header__cart .header__extra.pm-cart-pill span i {
  font-size: 10px !important;
  font-weight: 800 !important;
}

.page-store .pm-store-header__bottom {
  position: relative !important;
  display: flex !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 0 !important;
  padding-right: 112px !important;
  padding-bottom: 12px !important;
  padding-left: 24px !important;
}

.page-store .pm-store-header__tabs {
  display: flex !important;
  flex: 1 1 auto !important;
  justify-content: center !important;
  gap: 40px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.page-store .pm-store-header__tabs::-webkit-scrollbar {
  display: none !important;
}

.page-store .pm-store-header__tabs a {
  min-height: 28px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
}

.page-store .pm-store-header__join {
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  display: inline-flex !important;
  min-width: auto !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  transform: translateY(calc(-50% - 6px)) !important;
}

.page-store .pm-store-header-spacer {
  height: 125px !important;
}

@media (max-width: 991px) {
  .page-store .pm-store-header__top {
    min-height: 68px !important;
  }

  .page-store .pm-store-header__top > .pm-store-header__search {
    display: none !important;
  }

  .page-store .pm-store-header__mobile-search {
    display: block !important;
    padding-bottom: 8px !important;
  }

  .page-store .pm-store-header-spacer {
    height: 172px !important;
  }
}

@media (max-width: 575px) {
  .page-store .pm-store-header__top.ck-container,
  .page-store .pm-store-header__bottom.ck-container,
  .page-store .pm-store-header__mobile-search.ck-container {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .page-store .pm-store-header__brand {
    min-width: 0 !important;
    gap: 8px !important;
  }

  .page-store .pm-store-header__logo {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
  }

  .page-store .pm-store-header__copy strong {
    font-size: 13px !important;
  }

  .page-store .pm-store-header__cart .header__extra.pm-cart-pill {
    min-width: 58px !important;
    padding: 0 8px !important;
  }

  .page-store .pm-store-header__account {
    width: 44px !important;
    height: 44px !important;
  }

  .page-store .pm-store-header__bottom {
    justify-content: flex-start !important;
    padding-right: 14px !important;
    padding-bottom: 10px !important;
  }

  .page-store .pm-store-header__join {
    display: none !important;
  }

  .page-store .pm-store-header__tabs {
    justify-content: flex-start !important;
    gap: 26px !important;
  }

  .page-store .pm-store-header__tabs a {
    font-size: 16px !important;
  }

  .page-store .pm-store-header-spacer {
    height: 194px !important;
  }
}

/* Store profile mobile drawers must sit above the fixed profile header. */
.page-store .ps-panel--sidebar[id^="store-menu-mobile-"],
.page-store .ps-panel--sidebar[id^="store-user-mobile-"],
.page-store .ps-panel--sidebar[id^="store-search-mobile-"] {
  top: 0 !important;
  bottom: 0 !important;
  z-index: 100060 !important;
  width: min(400px, 100vw) !important;
  max-width: min(400px, 100vw) !important;
  height: 100vh !important;
  max-height: 100vh !important;
  background: #ffffff !important;
}

.page-store .ps-panel--sidebar[id^="store-menu-mobile-"].active,
.page-store .ps-panel--sidebar[id^="store-user-mobile-"].active,
.page-store .ps-panel--sidebar[id^="store-search-mobile-"].active {
  transform: translateX(0) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.page-store .ps-panel--sidebar[id^="store-menu-mobile-"] .ps-panel__header,
.page-store .ps-panel--sidebar[id^="store-user-mobile-"] .ps-panel__header,
.page-store .ps-panel--sidebar[id^="store-search-mobile-"] .ps-panel__header {
  position: relative !important;
  z-index: 1 !important;
}

body.pm-store-mobile-panel-open .ps-site-overlay.active {
  z-index: 100040 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.page-store .ps-panel--sidebar.pm-store-mobile-menu[id^="store-menu-mobile-"] {
  display: flex !important;
  width: min(328px, 88vw) !important;
  max-width: 328px !important;
  overflow: hidden !important;
  flex-direction: column !important;
  border-right: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  box-shadow: 0 28px 70px rgba(8, 40, 67, 0.18) !important;
}

.page-store .pm-store-mobile-menu .pm-store-mobile-menu__header {
  display: flex !important;
  min-height: 66px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 14px 14px 16px !important;
  border-bottom: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  text-align: left !important;
}

.page-store .pm-store-mobile-menu__logo {
  display: inline-flex !important;
  width: 168px !important;
  max-width: calc(100% - 58px) !important;
  align-items: center !important;
}

.page-store .pm-store-mobile-menu__logo img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.page-store .pm-store-mobile-menu__close {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  box-shadow: none !important;
}

.page-store .pm-store-mobile-menu__close i {
  color: inherit !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.page-store .pm-store-mobile-menu__content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 18px 6px 24px !important;
  background: #ffffff !important;
}

.page-store .pm-store-mobile-menu .menu--mobile,
.page-store .pm-store-mobile-menu .menu--mobile ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li {
  position: relative !important;
  margin: 0 !important;
  border: 0 !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a {
  position: relative !important;
  display: flex !important;
  min-height: 48px !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 14px 12px 44px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a:hover,
.page-store .pm-store-mobile-menu .menu--mobile > li > a:focus {
  background: #f4fbff !important;
  color: var(--pm-blue) !important;
}

.page-store .pm-store-mobile-menu__nav > li > a::before,
.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a > i {
  position: absolute !important;
  top: 50% !important;
  left: 14px !important;
  display: grid !important;
  width: 20px !important;
  height: 20px !important;
  place-items: center !important;
  color: var(--pm-blue) !important;
  font-family: Linearicons !important;
  font-size: 19px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

.page-store .pm-store-mobile-menu__nav > li > a::before {
  content: "\e600";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(1) > a::before {
  content: "\e600";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(2) > a::before {
  content: "\e74c";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(3) > a::before {
  content: "\e9bf";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(4) > a::before {
  content: "\e722";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(5) > a::before {
  content: "\e744";
}

.page-store .pm-store-mobile-menu__nav > li:nth-child(6) > a::before {
  content: "\e8ae";
}

.page-store .pm-store-mobile-menu__extra {
  margin-top: 18px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--pm-border) !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a > i {
  color: var(--pm-muted) !important;
  font-size: 18px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a span {
  display: inline-block !important;
}

.page-store .pm-store-mobile-menu__footer {
  flex: 0 0 auto !important;
  padding: 18px 12px !important;
  border-top: 1px solid var(--pm-border) !important;
  background: #f8fdff !important;
}

.page-store .pm-store-mobile-menu__language {
  display: flex !important;
  justify-content: flex-end !important;
}

.page-store .pm-store-mobile-menu__language-toggle {
  display: inline-flex !important;
  min-width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Parish profile overview section aligned with the Vercel parish storefront. */
.page-store .store-page__breadcrumb--overview {
  max-width: 1280px !important;
  margin: 18px auto 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-store .store-page__breadcrumb--overview .breadcrumb {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.page-store .store-page__breadcrumb--overview .breadcrumb li {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page__breadcrumb--overview .breadcrumb li + li::before {
  content: "/" !important;
  margin-right: 8px !important;
  color: var(--pm-muted) !important;
}

.page-store .store-page__breadcrumb--overview .breadcrumb a,
.page-store .store-page__breadcrumb--overview .breadcrumb span {
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
}

.page-store .store-page__breadcrumb--overview .breadcrumb li[aria-current="page"] span {
  color: var(--pm-navy) !important;
  font-weight: 800 !important;
}

.page-store .store-profile-hero,
.page-store .store-profile-about {
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.page-store .store-profile-hero {
  padding-top: 18px !important;
  padding-bottom: 10px !important;
}

.page-store .store-profile-hero__card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(420px, 1fr) !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .store-profile-hero__media {
  position: relative !important;
  min-height: 460px !important;
  overflow: hidden !important;
  border-radius: 0 0 24px 24px !important;
}

.page-store .store-profile-hero__media img,
.page-store .store-profile-about__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.page-store .store-profile-hero__media span {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), transparent 45%, transparent) !important;
  pointer-events: none !important;
}

.page-store .store-profile-hero__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  justify-content: center !important;
  padding: 28px !important;
}

.page-store .store-profile-hero__content h1 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 35px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

.page-store .store-profile-hero__content h1 span {
  color: var(--pm-blue) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: inherit !important;
}

.page-store .store-profile-hero__quote {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

.page-store .store-profile-hero__identity {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  padding: 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

.page-store .store-profile-hero__identity > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-width: 0 !important;
}

.page-store .store-profile-hero__logo {
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: 2px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 1px var(--pm-border), var(--pm-soft-shadow) !important;
}

.page-store .store-profile-hero__logo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.page-store .store-profile-hero__identity p {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

.page-store .store-profile-hero__identity small {
  display: block !important;
  color: var(--pm-muted) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 14px !important;
}

.page-store .store-profile-hero__stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.page-store .store-profile-hero__stats > div {
  min-height: 80px !important;
  padding: 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

.page-store .store-profile-hero__stats p {
  margin: 0 0 8px !important;
  color: var(--pm-blue) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 15px !important;
  text-transform: uppercase !important;
}

.page-store .store-profile-hero__stats strong {
  display: block !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
}

.page-store .store-profile-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.page-store .store-profile-hero__actions .pm-btn {
  display: inline-flex !important;
  min-height: 47px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 20px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  text-decoration: none !important;
}

.page-store .store-profile-hero__actions .pm-btn-primary {
  border: 1px solid var(--pm-blue) !important;
  background: linear-gradient(135deg, #0793b4, #38aee0) !important;
  color: #ffffff !important;
  box-shadow: 0 18px 34px rgba(2, 132, 169, 0.18) !important;
}

.page-store .store-profile-hero__actions .pm-btn-secondary {
  border: 1px solid var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
}

.page-store .store-profile-about {
  padding-top: 36px !important;
  padding-bottom: 42px !important;
}

.page-store .store-profile-about__card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.92fr) !important;
  gap: 64px !important;
  align-items: start !important;
  padding: 28px 42px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .store-profile-about__copy > p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.page-store .store-profile-about a {
  display: inline-flex !important;
  color: var(--pm-blue) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

.page-store .store-profile-about__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.page-store .store-profile-about__chips span {
  display: inline-flex !important;
  min-height: 36px !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: #e9f7fc !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

.page-store .store-profile-about__chips i {
  color: var(--pm-blue) !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.page-store .store-profile-about__message {
  margin-top: 18px !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #ffffff, #f5fbfe) !important;
}

.page-store .store-profile-about__message h2 {
  margin: 0 0 12px !important;
  color: var(--pm-navy) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
}

.page-store .store-profile-about__message p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.page-store .store-profile-about__media {
  overflow: hidden !important;
  min-height: 306px !important;
  border-radius: 18px !important;
}

@media (max-width: 1199px) {
  .page-store .store-profile-hero__card,
  .page-store .store-profile-about__card {
    grid-template-columns: 1fr !important;
  }

  .page-store .store-profile-hero__media {
    min-height: 360px !important;
  }

  .page-store .store-profile-about__card {
    gap: 28px !important;
  }
}

@media (max-width: 575px) {
  .page-store .store-page__breadcrumb--overview {
    margin-top: 14px !important;
  }

  .page-store .store-profile-hero {
    padding-top: 18px !important;
  }

  .page-store .store-profile-hero__card,
  .page-store .store-profile-about__card {
    border-radius: 18px !important;
  }

  .page-store .store-profile-hero__media {
    min-height: 260px !important;
  }

  .page-store .store-profile-hero__content {
    padding: 24px 18px !important;
  }

  .page-store .store-profile-hero__content h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }

  .page-store .store-profile-hero__stats {
    grid-template-columns: 1fr !important;
  }

  .page-store .store-profile-hero__actions .pm-btn {
    width: 100% !important;
  }

  .page-store .store-profile-about {
    padding-top: 24px !important;
    padding-bottom: 30px !important;
  }

  .page-store .store-profile-about__card {
    padding: 22px 18px !important;
  }

  .page-store .store-profile-about__message h2 {
    font-size: 24px !important;
  }
}

/* Parish store overview polish: keep /stores/skd close to the home visual system. */
.page-store .store-page--parish {
  background:
    linear-gradient(180deg, rgba(246, 252, 255, 0.96) 0%, rgba(255, 255, 255, 0.98) 42%, rgba(238, 248, 251, 0.88) 100%) !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview {
  margin-top: 24px !important;
}

.page-store .store-page--parish .store-profile-hero {
  padding-top: 20px !important;
  padding-bottom: 18px !important;
}

.page-store .store-page--parish .store-profile-hero__card {
  grid-template-columns: minmax(0, 1.32fr) minmax(410px, 0.92fr) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 24px 70px rgba(2, 80, 110, 0.10) !important;
}

.page-store .store-page--parish .store-profile-hero__media {
  min-height: 460px !important;
  border-radius: 0 !important;
  background: #e9f7fc !important;
}

.page-store .store-page--parish .store-profile-hero__media img {
  filter: saturate(1.02) contrast(1.02) !important;
}

.page-store .store-page--parish .store-profile-hero__media span {
  background:
    linear-gradient(180deg, rgba(8, 40, 67, 0.04) 0%, rgba(8, 40, 67, 0.08) 100%) !important;
}

.page-store .store-page--parish .store-profile-hero__content {
  gap: 14px !important;
  padding: 34px 38px !important;
}

.page-store .store-page--parish .store-profile-hero__content h1 {
  max-width: 560px !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 38px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

.page-store .store-page--parish .store-profile-hero__quote {
  max-width: 560px !important;
  color: var(--pm-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.page-store .store-page--parish .store-profile-hero__identity,
.page-store .store-page--parish .store-profile-hero__stats > div {
  border-color: rgba(219, 234, 254, 0.95) !important;
  box-shadow: 0 10px 28px rgba(5, 126, 162, 0.05) !important;
}

.page-store .store-page--parish .store-profile-hero__identity {
  align-items: center !important;
  padding: 14px !important;
  border-radius: 22px !important;
}

.page-store .store-page--parish .store-profile-hero__logo {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
  border-radius: 18px !important;
}

.page-store .store-page--parish .store-profile-hero__identity p {
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.page-store .store-page--parish .store-profile-hero__identity small {
  margin-top: 2px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.page-store .store-page--parish .store-profile-hero__stats {
  gap: 12px !important;
}

.page-store .store-page--parish .store-profile-hero__stats > div {
  min-height: 80px !important;
  padding: 15px 16px !important;
  border-radius: 20px !important;
}

.page-store .store-page--parish .store-profile-hero__stats p {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

.page-store .store-page--parish .store-profile-hero__stats strong {
  font-size: 19px !important;
  line-height: 1.2 !important;
}

.page-store .store-page--parish .store-profile-hero__actions {
  gap: 12px !important;
  padding-top: 2px !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn {
  min-height: 46px !important;
  padding: 12px 21px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn:hover {
  transform: translateY(-1px) !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn-primary {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  box-shadow: 0 16px 32px rgba(5, 126, 162, 0.22) !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn-secondary {
  color: var(--pm-navy) !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn-secondary:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-blue) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-about {
  padding-top: 34px !important;
  padding-bottom: 48px !important;
}

.page-store .store-page--parish .store-profile-about__card {
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.9fr) !important;
  gap: 42px !important;
  padding: 36px 42px !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 22px 64px rgba(2, 80, 110, 0.08) !important;
}

.page-store .store-page--parish .store-profile-about__copy {
  align-self: center !important;
}

.page-store .store-page--parish .store-profile-about__copy > p {
  max-width: 720px !important;
  color: var(--pm-muted) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.page-store .store-page--parish .store-profile-about__chips span {
  min-height: 40px !important;
  background: #eef8fb !important;
  color: var(--pm-navy) !important;
}

.page-store .store-page--parish .store-profile-about__message {
  margin-top: 22px !important;
  padding: 26px !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg, #f9fdff 0%, #ffffff 100%) !important;
  box-shadow: 0 10px 28px rgba(5, 126, 162, 0.05) !important;
}

.page-store .store-page--parish .store-profile-about__message h2 {
  font-family: var(--pm-font-sans) !important;
  font-size: 29px !important;
  letter-spacing: 0 !important;
}

.page-store .store-page--parish .store-profile-about__media {
  min-height: 330px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 22px !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish #causas {
  padding-top: 50px !important;
  padding-bottom: 58px !important;
}

.page-store .store-page--parish #causas .title_site,
.page-store .store-page--parish .pm-store-sponsors-card .title_site {
  font-size: 32px !important;
  line-height: 1.15 !important;
}

.page-store .store-page--parish .store-support-cause-card,
.page-store .store-page--parish .pm-store-sponsors-card,
.page-store .store-page--parish .store-page__sponsor-card {
  border-color: rgba(219, 234, 254, 0.95) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
}

.page-store .store-page--parish .store-page__sponsor-card {
  border: 1px solid var(--pm-border) !important;
  border-radius: 22px !important;
}

@media (max-width: 1199px) {
  .page-store .store-page--parish .store-profile-hero__card,
  .page-store .store-page--parish .store-profile-about__card {
    grid-template-columns: 1fr !important;
  }

  .page-store .store-page--parish .store-profile-hero__media {
    min-height: 360px !important;
  }

  .page-store .store-page--parish .store-profile-hero__content {
    padding: 30px !important;
  }
}

@media (max-width: 767px) {
  .page-store .store-page--parish .store-profile-hero,
  .page-store .store-page--parish .store-profile-about,
  .page-store .store-page--parish .store-page__breadcrumb--overview {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .page-store .store-page--parish .store-profile-hero__content h1 {
    font-size: 32px !important;
    line-height: 1.12 !important;
  }

  .page-store .store-page--parish .store-profile-hero__quote {
    font-size: 14px !important;
  }

  .page-store .store-page--parish .store-profile-about__card {
    padding: 24px !important;
  }
}

@media (max-width: 575px) {
  .page-store .store-page--parish .store-page__breadcrumb--overview {
    margin-top: 18px !important;
  }

  .page-store .store-page--parish .store-profile-hero {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
  }

  .page-store .store-page--parish .store-profile-hero__card,
  .page-store .store-page--parish .store-profile-about__card {
    border-radius: 24px !important;
  }

  .page-store .store-page--parish .store-profile-hero__media {
    min-height: 260px !important;
  }

  .page-store .store-page--parish .store-profile-hero__content {
    gap: 14px !important;
    padding: 24px 18px !important;
  }

  .page-store .store-page--parish .store-profile-hero__content h1 {
    font-size: 31px !important;
  }

  .page-store .store-page--parish .store-profile-hero__identity {
    align-items: flex-start !important;
    padding: 14px !important;
  }

  .page-store .store-page--parish .store-profile-hero__logo {
    width: 50px !important;
    height: 50px !important;
    flex-basis: 50px !important;
  }

  .page-store .store-page--parish .store-profile-hero__stats {
    grid-template-columns: 1fr !important;
  }

  .page-store .store-page--parish .store-profile-hero__stats > div {
    min-height: 76px !important;
  }

  .page-store .store-page--parish .store-profile-about {
    padding-top: 24px !important;
    padding-bottom: 38px !important;
  }

  .page-store .store-page--parish .store-profile-about__card {
    gap: 22px !important;
    padding: 22px 18px !important;
  }

  .page-store .store-page--parish .store-profile-about__media {
    min-height: 230px !important;
  }
}

/* Store header pixel pass: desktop geometry matches the home header. */
@media (min-width: 992px) {
  .page-store .pm-store-profile-header .pm-store-header__top .pm-store-header__search.ps-form--search-mobile button[type="submit"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .pm-store-profile-header.store-identity-shell {
    height: 65px !important;
    min-height: 65px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
    box-shadow: none !important;
  }

  .pm-store-profile-header .pm-store-header.store-identity-nav {
    position: relative !important;
    height: 64px !important;
    min-height: 64px !important;
    overflow: visible !important;
    background: rgba(255, 255, 255, 0.98) !important;
  }

  .pm-store-profile-header .pm-store-header__top {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1320px !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 24px !important;
    gap: 12px !important;
  }

  .pm-store-profile-header .pm-store-header__menu,
  .pm-store-profile-header .pm-store-header__account {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-color: var(--pm-border) !important;
    background: #ffffff !important;
    color: var(--pm-navy) !important;
    box-shadow: none !important;
  }

  .pm-store-profile-header .pm-store-header__menu i,
  .pm-store-profile-header .pm-store-header__account i {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .pm-store-profile-header .pm-store-header__brand {
    width: 213px !important;
    min-width: 213px !important;
    max-width: 213px !important;
    height: 40px !important;
    gap: 10px !important;
  }

  .pm-store-profile-header .pm-store-header__logo {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    padding: 1px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  .pm-store-profile-header .pm-store-header__copy strong {
    font-size: 16px !important;
    line-height: 16px !important;
  }

  .pm-store-profile-header .pm-store-header__copy small {
    margin-top: 2px !important;
    font-size: 11px !important;
    line-height: 12px !important;
  }

  .pm-store-profile-header .pm-store-header__search.ps-form--search-mobile {
    display: block !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    position: absolute !important;
    top: 12px !important;
    left: calc(50% - 660px + 1069px) !important;
    margin-left: 0 !important;
  }

  .pm-store-profile-header .pm-store-header__search .form-group--nest {
    display: grid !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    padding: 0 !important;
    border-color: var(--pm-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search-icon {
    position: static !important;
    display: block !important;
    color: var(--pm-navy) !important;
    font-size: 16px !important;
    transform: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search .form-control,
  .page-store .pm-store-profile-header .pm-store-header__search button,
  .page-store .pm-store-profile-header .pm-store-header__language-wrap {
    display: none !important;
  }

  .pm-store-profile-header .pm-store-header__actions {
    position: absolute !important;
    top: 12px !important;
    left: calc(50% - 660px + 1117px) !important;
    height: 40px !important;
    gap: 8px !important;
    margin-left: 0 !important;
  }

  .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart,
  .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill {
    height: auto !important;
    min-height: 0 !important;
  }

  .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    padding: 8px 12px !important;
    border-color: var(--pm-border) !important;
    box-shadow: none !important;
  }

  .pm-store-profile-header .pm-store-header__cart .pm-cart-pill__icon {
    width: 18px !important;
    height: 18px !important;
  }

  .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill span {
    display: none !important;
  }

  .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill span i {
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__bottom {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 !important;
    transform: none !important;
    pointer-events: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs {
    position: absolute !important;
    top: 16px !important;
    left: calc(50% - 660px + 325px) !important;
    display: flex !important;
    width: auto !important;
    height: 32px !important;
    align-items: center !important;
    gap: 28px !important;
    pointer-events: auto !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs a {
    min-height: 32px !important;
    padding: 0 !important;
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 32px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__join {
    position: absolute !important;
    top: 13px !important;
    right: auto !important;
    left: calc(50% - 660px + 1215px) !important;
    display: inline-flex !important;
    min-width: 81px !important;
    width: 81px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 8px 16px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
    box-shadow: none !important;
    transform: none !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
  }

  .pm-store-profile-header .pm-store-header__mobile-search {
    display: none !important;
  }

  .page-store .pm-store-header-spacer {
    height: 65px !important;
  }
}

/* Store header Vercel reference pass: exact desktop structure from parishmart-nine. */
@media (min-width: 992px) {
  .page-store .pm-store-profile-header.store-identity-shell {
    height: 125px !important;
    min-height: 125px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border-bottom: 1px solid rgba(219, 234, 254, 0.70) !important;
    box-shadow: none !important;
    backdrop-filter: blur(24px) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header.store-identity-nav {
    height: 124px !important;
    min-height: 124px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__top.ck-container {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1320px !important;
    height: 84px !important;
    min-height: 84px !important;
    padding: 10px 24px !important;
    gap: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__menu {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--pm-navy) !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 244px !important;
    width: 244px !important;
    min-width: 244px !important;
    max-width: 244px !important;
    height: 64px !important;
    gap: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__logo {
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    padding: 2px !important;
    border: 1px solid rgba(219, 234, 254, 0.90) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 36px rgba(2, 80, 110, 0.10) !important;
    object-fit: contain !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy strong {
    max-width: 168px !important;
    color: var(--pm-navy) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy small {
    margin-top: 0 !important;
    color: var(--pm-muted) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search.ps-form--search-mobile {
    position: static !important;
    display: block !important;
    flex: 0 0 801px !important;
    width: 801px !important;
    min-width: 0 !important;
    height: 46px !important;
    margin-left: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search .form-group--nest {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    min-height: 46px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 12px !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: var(--pm-soft-shadow) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search-icon {
    position: static !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 17px !important;
    height: 17px !important;
    color: var(--pm-muted) !important;
    font-size: 17px !important;
    line-height: 17px !important;
    transform: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search .form-control {
    display: block !important;
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--pm-muted) !important;
    font-size: 15px !important;
    line-height: 21.4286px !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search .form-control::placeholder {
    color: rgba(47, 74, 107, 0.78) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__top .pm-store-header__search.ps-form--search-mobile button[type="submit"],
  .page-store .pm-store-profile-header .pm-store-header__search button[type="submit"] {
    position: static !important;
    display: inline-flex !important;
    visibility: visible !important;
    width: auto !important;
    min-width: 78px !important;
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #0b3454 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
    white-space: nowrap !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__actions {
    position: static !important;
    display: inline-flex !important;
    flex: 0 0 139px !important;
    width: 139px !important;
    height: 40px !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 0 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__language-wrap {
    display: block !important;
    flex: 0 0 auto !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__language {
    display: inline-flex !important;
    width: auto !important;
    min-width: 41px !important;
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 10px !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--pm-navy) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--pm-navy) !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .pm-cart-pill__icon {
    width: 18px !important;
    height: 18px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill span {
    display: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__account {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    border: 1px solid var(--pm-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--pm-navy) !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__bottom.ck-container {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    max-width: 1320px !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
    margin: 0 auto !important;
    padding: 4px 112px 12px 0 !important;
    pointer-events: auto !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs {
    position: static !important;
    display: flex !important;
    width: auto !important;
    height: 24px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 40px !important;
    margin-left: 308px !important;
    overflow: visible !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs a {
    display: block !important;
    min-height: 24px !important;
    padding: 0 !important;
    color: var(--pm-navy) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    white-space: nowrap !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__join {
    position: absolute !important;
    top: -3px !important;
    right: 24px !important;
    left: auto !important;
    display: inline-flex !important;
    width: 81px !important;
    min-width: 81px !important;
    height: 38px !important;
    min-height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 20px 34px rgba(18, 139, 190, 0.24) !important;
    transform: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__mobile-search {
    display: none !important;
  }

  .page-store .pm-store-header-spacer {
    height: 125px !important;
  }
}

/* Store header pixel pass: mobile geometry matches the home mobile header. */
@media (max-width: 991px) {
  .page-store .pm-store-profile-header.store-identity-shell {
    height: 65px !important;
    min-height: 65px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid rgba(219, 234, 254, 0.82) !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header.store-identity-nav {
    height: 64px !important;
    min-height: 64px !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, 0.98) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__top.ck-container {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 16px !important;
    gap: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__menu,
  .page-store .pm-store-profile-header .pm-store-header__account {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-color: var(--pm-border) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 213px !important;
    width: 213px !important;
    min-width: 213px !important;
    max-width: 213px !important;
    height: 40px !important;
    gap: 8px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__logo {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    padding: 1px !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy strong {
    font-size: 13px !important;
    line-height: 14px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy small {
    margin-top: 1px !important;
    font-size: 11px !important;
    line-height: 12px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__actions {
    position: absolute !important;
    top: 12px !important;
    right: 97px !important;
    z-index: 4 !important;
    width: 58px !important;
    height: 40px !important;
    gap: 8px !important;
    margin-left: 0 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__language-wrap,
  .page-store .pm-store-profile-header .pm-store-header__mobile-search,
  .page-store .pm-store-profile-header .pm-store-header__tabs,
  .page-store .pm-store-profile-header .pm-store-header__account {
    display: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__bottom {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100vw !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart,
  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill {
    height: auto !important;
    min-height: 0 !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill {
    width: auto !important;
    min-width: 0 !important;
    padding: 8px 12px !important;
    box-shadow: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill span {
    display: none !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__join {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    left: auto !important;
    display: inline-flex !important;
    width: 73px !important;
    min-width: 73px !important;
    height: 37px !important;
    min-height: 37px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18.6667px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .page-store .pm-store-header-spacer {
    height: 65px !important;
  }
}

/* Store header font and icon parity with Vercel after webfont load. */
.page-store .pm-store-profile-header,
.page-store .pm-store-profile-header * {
  font-family: var(--pm-font-sans) !important;
}

.page-store .pm-store-profile-header .pm-store-header__menu svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.page-store .pm-store-profile-header .pm-store-header__search-icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  font-size: 16px !important;
  line-height: 16px !important;
}

.page-store .pm-store-profile-header .pm-store-header__cart .pm-cart-pill__icon,
.page-store .pm-store-profile-header .pm-store-header__account svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (min-width: 992px) {
  .page-store .pm-store-profile-header .pm-store-header.store-identity-nav {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy strong {
    display: block !important;
    width: 168px !important;
    max-width: 168px !important;
    height: 24px !important;
    overflow: visible !important;
    color: var(--pm-navy) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    letter-spacing: -0.4px !important;
    text-overflow: clip !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__copy small {
    display: block !important;
    width: 168px !important;
    max-width: 168px !important;
    height: 12px !important;
    margin-top: 2px !important;
    color: var(--pm-muted) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 12.1px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__tabs,
  .page-store .pm-store-profile-header .pm-store-header__tabs *,
  .page-store .pm-store-profile-header .pm-store-header__tabs a {
    font-family: var(--pm-font-sans) !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__search .form-control {
    color: var(--pm-ink) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 21.4286px !important;
  }

  .page-store .pm-store-profile-header .pm-store-header__top .pm-store-header__search.ps-form--search-mobile button[type="submit"],
  .page-store .pm-store-profile-header .pm-store-header__search button[type="submit"],
  .page-store .pm-store-profile-header .pm-store-header__language,
  .page-store .pm-store-profile-header .pm-store-header__join {
    font-weight: 700 !important;
  }
}

/* Parish overview hero: match Vercel /parishes/skd section geometry and late font behavior. */
.page-store .store-page--parish {
  background:
    radial-gradient(1200px 600px at 80% -10%, #d6f0fb 0%, transparent 60%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 35%, #eef8fb 100%) !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview,
.page-store .store-page--parish .store-page__breadcrumb--overview *,
.page-store .store-page--parish .store-profile-hero,
.page-store .store-page--parish .store-profile-hero * {
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview {
  width: 100% !important;
  max-width: 1232px !important;
  height: 16px !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  color: var(--pm-ink) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  overflow-x: auto !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb {
  display: flex !important;
  height: 16px !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 16px !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb li {
  display: inline-flex !important;
  height: 16px !important;
  align-items: center !important;
  gap: 6px !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb li + li::before {
  content: "/" !important;
  margin-right: 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb a,
.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb span {
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-page__breadcrumb--overview .breadcrumb li[aria-current="page"] span {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-page--parish .store-profile-hero {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 16px auto 0 !important;
  padding: 8px 24px 8px !important;
}

.page-store .store-page--parish .store-profile-hero__card {
  display: grid !important;
  width: 100% !important;
  height: 462px !important;
  min-height: 462px !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .store-page--parish .store-profile-hero__media {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 0 0 24px 24px !important;
  background: transparent !important;
}

.page-store .store-page--parish .store-profile-hero__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
}

.page-store .store-page--parish .store-profile-hero__media span {
  display: none !important;
}

.page-store .store-page--parish .store-profile-hero__content {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 28px !important;
  color: var(--pm-ink) !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

.page-store .store-page--parish .store-profile-hero__content h1 {
  width: 100% !important;
  max-width: none !important;
  height: 90px !important;
  margin: 0 0 16px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 45px !important;
  letter-spacing: -0.9px !important;
}

.page-store .store-page--parish .store-profile-hero__content h1 span {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

.page-store .store-page--parish .store-profile-hero__quote {
  width: 100% !important;
  height: 40px !important;
  margin: 0 0 16px !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-hero__identity {
  display: flex !important;
  width: 100% !important;
  height: 79px !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-profile-hero__logo {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  place-items: center !important;
  padding: 2px !important;
  border: 0 !important;
  outline: 1px solid rgba(219, 234, 254, 0.95) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-profile-hero__logo img {
  display: block !important;
  width: 40px !important;
  height: 40.2833px !important;
  max-width: 40px !important;
  max-height: 40.2833px !important;
  object-fit: contain !important;
}

.page-store .store-page--parish .store-profile-hero__identity > div {
  width: 248px !important;
  min-width: 0 !important;
  height: 53px !important;
}

.page-store .store-page--parish .store-profile-hero__identity p {
  height: 20px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-hero__identity small {
  display: block !important;
  height: 17px !important;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-hero__stats {
  display: grid !important;
  width: 100% !important;
  height: 65px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
}

.page-store .store-page--parish .store-profile-hero__stats > div {
  height: 65px !important;
  min-height: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-profile-hero__stats p {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 15px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.page-store .store-page--parish .store-profile-hero__stats strong {
  display: block !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
}

.page-store .store-page--parish .store-profile-hero__actions {
  display: flex !important;
  height: 47px !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn {
  min-height: 47px !important;
  height: 47px !important;
  padding: 12px 20px !important;
  gap: 8px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  transform: none !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn-primary {
  min-width: 166px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
}

.page-store .store-page--parish .store-profile-hero__actions .pm-btn-secondary {
  min-width: 138px !important;
  border-color: var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  box-shadow: none !important;
}

/* Parish overview info cards: match Vercel #about block below the hero. */
.page-store .store-page--parish .store-profile-info,
.page-store .store-page--parish .store-profile-info * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-profile-info {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  color: var(--pm-ink) !important;
}

.page-store .store-page--parish .store-profile-info__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-info__card {
  min-height: 288px !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

.page-store .store-page--parish .store-profile-info__kicker {
  height: 15px !important;
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 15px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.page-store .store-page--parish .store-profile-info__card h3 {
  margin: 8px 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
}

.page-store .store-page--parish .store-profile-info__copy {
  margin: 8px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-info__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 17.3333px !important;
}

.page-store .store-page--parish .store-profile-info__links a {
  display: flex !important;
  min-height: 35.33px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-ink) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 17.3333px !important;
  text-decoration: none !important;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease !important;
}

.page-store .store-page--parish .store-profile-info__links a:hover,
.page-store .store-page--parish .store-profile-info__links a:focus-visible {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 24px rgba(5, 126, 162, 0.22) !important;
  outline: none !important;
}

.page-store .store-page--parish .store-profile-info__schedule {
  display: block !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.page-store .store-page--parish .store-profile-info__schedule li {
  display: flex !important;
  min-height: 38px !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 8px !important;
  padding: 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--pm-ink) !important;
  font-size: 12px !important;
  line-height: 16px !important;
}

.page-store .store-page--parish .store-profile-info__schedule li:last-child {
  margin-bottom: 0 !important;
}

.page-store .store-page--parish .store-profile-info__schedule span:first-child {
  flex: 0 0 auto !important;
  color: var(--pm-navy) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
}

.page-store .store-page--parish .store-profile-info__schedule span:last-child {
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-info__labels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-info__labels span {
  display: block !important;
  min-height: 24.5px !important;
  padding: 4px 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e9f8ff !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 16.5px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.page-store .store-page--parish .store-profile-info__source {
  margin: 12px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.page-store .store-page--parish .store-profile-info__source a {
  color: inherit !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-info__source a:hover {
  color: var(--pm-navy) !important;
}

/* Parish overview support paths: Vercel card trio under the info cards. */
.page-store .store-page--parish .store-profile-support,
.page-store .store-page--parish .store-profile-support * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-profile-support {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  color: var(--pm-ink) !important;
}

.page-store .store-page--parish .store-profile-support__header {
  width: 672px !important;
  max-width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-support__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: -0.025em !important;
}

.page-store .store-page--parish .store-profile-support__header p {
  width: 672px !important;
  max-width: 100% !important;
  min-height: 40px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-support__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-support__card {
  display: block !important;
  width: 100% !important;
  min-height: 354.39px !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  text-decoration: none !important;
  box-shadow: var(--pm-card-shadow) !important;
  transform: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-page--parish .store-profile-support__card:hover {
  color: var(--pm-ink) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-support__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px 24px 0 0 !important;
  background: transparent !important;
}

.page-store .store-page--parish .store-profile-support__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.page-store .store-page--parish .store-profile-support__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), transparent, transparent) !important;
}

.page-store .store-page--parish .store-profile-support__body {
  display: block !important;
  min-height: 128.5px !important;
  margin: 0 !important;
  padding: 24px !important;
}

.page-store .store-page--parish .store-profile-support__kicker {
  display: block !important;
  height: 16.5px !important;
  margin: 0 0 8px !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 16.5px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.page-store .store-page--parish .store-profile-support__title {
  display: block !important;
  height: 28px !important;
  margin: 0 0 8px !important;
  color: var(--pm-navy) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
}

.page-store .store-page--parish .store-profile-support__card:hover .store-profile-support__title {
  color: var(--pm-blue) !important;
}

.page-store .store-page--parish .store-profile-support__copy {
  display: block !important;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

/* Parish overview Shop with Purpose: dynamic store products with Vercel card geometry. */
.page-store .store-page--parish .store-profile-shop,
.page-store .store-page--parish .store-profile-shop * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-profile-shop {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  color: var(--pm-ink) !important;
}

.page-store .store-page--parish .store-profile-shop__header {
  display: flex !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-shop__header > div:first-child {
  width: 672px !important;
  max-width: 100% !important;
}

.page-store .store-page--parish .store-profile-shop__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: -0.025em !important;
}

.page-store .store-page--parish .store-profile-shop__header p {
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-shop__links {
  display: flex !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-shop__links a {
  color: var(--pm-muted) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-shop__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-page--parish .store-profile-shop__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-shop__product {
  display: flex !important;
  min-width: 0 !important;
  height: 376.5px !important;
  min-height: 376.5px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-page--parish .store-profile-shop__product:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-shop__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-shop__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.page-store .store-page--parish .store-profile-shop__body {
  display: flex !important;
  height: 155px !important;
  min-height: 155px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 16px !important;
}

.page-store .store-page--parish .store-profile-shop__title {
  display: -webkit-box !important;
  height: 35px !important;
  margin: 0 0 4px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-shop__title:hover {
  color: var(--pm-blue) !important;
}

.page-store .store-page--parish .store-profile-shop__description {
  display: -webkit-box !important;
  height: 33px !important;
  min-height: 33px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
}

.page-store .store-page--parish .store-profile-shop__footer {
  display: flex !important;
  min-height: 32px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: auto 0 0 !important;
  padding: 14px 0 0 !important;
}

.page-store .store-page--parish .store-profile-shop__price {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-shop__price del {
  margin-left: 4px !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
}

.page-store .store-page--parish .store-profile-shop__add {
  display: inline-flex !important;
  min-width: 55px !important;
  min-height: 32px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-profile-shop__add:hover {
  color: #ffffff !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-shop__load {
  display: flex !important;
  justify-content: center !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-shop__load-button {
  display: inline-flex !important;
  min-height: 47px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
}

.page-store .store-page--parish .store-profile-shop__load-button[disabled] {
  cursor: wait !important;
  opacity: 0.68 !important;
}

@media (max-width: 991px) {
  .page-store .store-page--parish .store-profile-info__grid,
  .page-store .store-page--parish .store-profile-support__grid,
  .page-store .store-page--parish .store-profile-shop__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .page-store .store-page--parish .store-profile-info,
  .page-store .store-page--parish .store-profile-support,
  .page-store .store-page--parish .store-profile-shop {
    padding: 32px 14px !important;
  }

  .page-store .store-page--parish .store-profile-shop__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .page-store .store-page--parish .store-profile-support__header h2 {
    height: auto !important;
    font-size: 26px !important;
    line-height: 32px !important;
  }
}

/* Parish overview Give with Love: dynamic donation campaigns. */
.page-store .store-page--parish .store-profile-give,
.page-store .store-page--parish .store-profile-give * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-profile-give {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  color: var(--pm-ink) !important;
}

.page-store .store-page--parish .store-profile-give__header {
  display: flex !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-give__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
}

.page-store .store-page--parish .store-profile-give__header p {
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-give__links {
  display: flex !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-give__links a {
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-give__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-page--parish .store-profile-give__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-give__card {
  display: flex !important;
  min-width: 0 !important;
  height: 405px !important;
  min-height: 405px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-page--parish .store-profile-give__card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-give__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 258px !important;
  min-height: 258px !important;
  overflow: visible !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-give__media > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 24px 24px 0 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.page-store .store-page--parish .store-profile-give__media > span {
  position: absolute !important;
  z-index: 2 !important;
  right: 12px !important;
  bottom: 0 !important;
  width: 64px !important;
  height: 64px !important;
  padding: 6px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 35px rgba(8, 40, 67, 0.12) !important;
  outline: 2px solid #ffffff !important;
  transform: translateY(25%) !important;
}

.page-store .store-page--parish .store-profile-give__media > span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.page-store .store-page--parish .store-profile-give__body {
  display: flex !important;
  height: 147px !important;
  min-height: 147px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 32px 12px 12px !important;
}

.page-store .store-page--parish .store-profile-give__title {
  display: -webkit-box !important;
  height: 18px !important;
  margin: 0 0 2px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-give__location {
  height: 16.5px !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-give__description {
  display: block !important;
  height: 16px !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-give__footer {
  display: flex !important;
  min-height: 33px !important;
  align-items: flex-end !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-give__button {
  display: inline-flex !important;
  min-height: 32.67px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18.67px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.page-store .store-page--parish .store-profile-give__load {
  display: flex !important;
  justify-content: center !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-give__load-button {
  display: inline-flex !important;
  min-height: 47px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
}

.page-store .store-page--parish .store-profile-give__load-button[disabled] {
  cursor: wait !important;
  opacity: 0.68 !important;
}

@media (max-width: 991px) {
  .page-store .store-page--parish .store-profile-give__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .page-store .store-page--parish .store-profile-give {
    padding: 32px 14px !important;
  }

  .page-store .store-page--parish .store-profile-give__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Parish overview Ministries & Causes: limited dynamic cause list. */
.page-store .store-page--parish .store-profile-ministries,
.page-store .store-page--parish .store-profile-ministries * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-page--parish .store-profile-ministries {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  color: var(--pm-ink) !important;
}

.page-store .store-page--parish .store-profile-ministries__header {
  display: flex !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-ministries__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
}

.page-store .store-page--parish .store-profile-ministries__header p {
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-page--parish .store-profile-ministries__links {
  display: flex !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-ministries__links a {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-ministries__links a + a::before {
  content: "·" !important;
  display: inline-block !important;
  margin: 0 4px 0 0 !important;
}

.page-store .store-page--parish .store-profile-business-supporters__links {
  gap: 16px !important;
}

.page-store .store-profile-business-supporters__links {
  gap: 16px !important;
}

.page-store .store-page--parish .store-profile-business-supporters__links a {
  color: var(--pm-muted) !important;
  font-weight: 400 !important;
}

.page-store .store-profile-business-supporters__links a {
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-business-supporters__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-profile-business-supporters__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-page--parish .store-profile-business-supporters__links a + a::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

.page-store .store-profile-business-supporters__links a + a::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

.page-store .store-page--parish .store-profile-ministries__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-page--parish .store-profile-ministries__card {
  display: flex !important;
  min-width: 0 !important;
  height: 364px !important;
  min-height: 364px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-page--parish .store-profile-ministries__card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-page--parish .store-profile-ministries__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  overflow: hidden !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-ministries__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.page-store .store-page--parish .store-profile-ministries__body {
  display: flex !important;
  height: 144px !important;
  min-height: 144px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 16px !important;
}

.page-store .store-page--parish .store-profile-ministries__title {
  display: -webkit-box !important;
  height: 18px !important;
  margin: 0 0 2px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
  text-decoration: none !important;
}

.page-store .store-page--parish .store-profile-ministries__location {
  height: 16.5px !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-store .store-page--parish .store-profile-ministries__description {
  display: -webkit-box !important;
  height: 34px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 17px !important;
}

.page-store .store-page--parish .store-profile-ministries__action {
  display: inline-flex !important;
  width: max-content !important;
  margin: auto 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

@media (max-width: 991px) {
  .page-store .store-page--parish .store-profile-ministries__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .page-store .store-page--parish .store-profile-ministries {
    padding: 32px 14px !important;
  }

  .page-store .store-page--parish .store-profile-ministries__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

html body .page-store .store-page.store-page--parish section#causas.store-profile-ministries.ck-container {
  padding: 40px 24px !important;
}

@media (max-width: 767px) {
  html body .page-store .store-page.store-page--parish section#causas.store-profile-ministries.ck-container {
    padding: 32px 14px !important;
  }
}

/* Parish overview Business Supporters: dynamic local business grid. */
.page-store .store-profile-business,
.page-store .store-profile-business * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-profile-business {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  scroll-margin-top: 170px !important;
  color: var(--pm-ink) !important;
}

html body .page-store section#business-supporters.store-profile-business.ck-container {
  padding: 40px 24px !important;
}

.page-store .store-profile-business__header {
  display: flex !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-profile-business__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
}

.page-store .store-profile-business__header p {
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-profile-business__links {
  display: flex !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.page-store .store-profile-business__links a {
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-profile-business__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-profile-business__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-profile-business__card {
  display: flex !important;
  min-width: 0 !important;
  height: 448px !important;
  min-height: 448px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-profile-business__card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-profile-business__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 214px !important;
  min-height: 214px !important;
  overflow: visible !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

.page-store .store-profile-business__media > img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 24px 24px 0 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.page-store .store-profile-business__media > span {
  position: absolute !important;
  z-index: 2 !important;
  right: 12px !important;
  bottom: 0 !important;
  width: 84px !important;
  height: 84px !important;
  padding: 8px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 35px rgba(8, 40, 67, 0.12) !important;
  outline: 2px solid #ffffff !important;
  transform: translateY(28%) !important;
}

.page-store .store-profile-business__media > span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.page-store .store-profile-business__body {
  display: flex !important;
  height: 234px !important;
  min-height: 234px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 32px 24px 24px !important;
}

.page-store .store-profile-business__kicker {
  display: inline-flex !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 24px !important;
  align-items: center !important;
  margin: 0 0 14px !important;
  padding: 4px 10px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e5f7fd !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 16px !important;
  text-overflow: ellipsis !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.page-store .store-profile-business__title {
  display: -webkit-box !important;
  height: 18px !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
  text-decoration: none !important;
}

.page-store .store-profile-business__location {
  height: 16.5px !important;
  margin: 0 0 12px !important;
  overflow: hidden !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-store .store-profile-business__description {
  display: -webkit-box !important;
  height: 51px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 17px !important;
}

.page-store .store-profile-business__action {
  display: inline-flex !important;
  width: max-content !important;
  margin: auto 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

@media (max-width: 991px) {
  .page-store .store-profile-business__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html body .page-store section#business-supporters.store-profile-business.ck-container {
    padding: 32px 14px !important;
  }

  .page-store .store-profile-business__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* Parish overview fixed Sponsors & Parishioner Benefits section. */
.page-store .store-profile-benefits,
.page-store .store-profile-benefits * {
  box-sizing: border-box !important;
  font-family: var(--pm-font-sans) !important;
}

.page-store .store-profile-benefits {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
  scroll-margin-top: 170px !important;
  color: var(--pm-ink) !important;
}

html body .page-store section#sponsors.store-profile-benefits.ck-container {
  padding: 40px 24px !important;
}

.page-store .store-profile-benefits__header {
  display: flex !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.page-store .store-profile-benefits__header h2 {
  min-height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
}

.page-store .store-profile-benefits__header p {
  max-width: 672px !important;
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store .store-profile-benefits__links {
  display: flex !important;
  height: 20px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.page-store .store-profile-benefits__links a {
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

.page-store .store-profile-benefits__links a:first-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.page-store .store-profile-benefits__grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-store .store-profile-benefits__card {
  display: flex !important;
  min-width: 0 !important;
  height: 444px !important;
  min-height: 444px !important;
  flex-direction: column !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pm-ink) !important;
  box-shadow: var(--pm-card-shadow) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.page-store .store-profile-benefits__card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.page-store .store-profile-benefits__media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 292px !important;
  min-height: 292px !important;
  overflow: hidden !important;
  border-radius: 24px 24px 0 0 !important;
  background: #ffffff !important;
  text-decoration: none !important;
}

.page-store .store-profile-benefits__media img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.page-store .store-profile-benefits__body {
  display: flex !important;
  height: 152px !important;
  min-height: 152px !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 16px !important;
}

.page-store .store-profile-benefits__title {
  display: -webkit-box !important;
  height: 18px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 17.5px !important;
  text-decoration: none !important;
}

.page-store .store-profile-benefits__location {
  height: 16.5px !important;
  margin: -4px 0 0 !important;
  overflow: hidden !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 16.5px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.page-store .store-profile-benefits__description {
  display: -webkit-box !important;
  height: 34px !important;
  margin: 0 !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 17px !important;
}

.page-store .store-profile-benefits__action {
  display: inline-flex !important;
  width: max-content !important;
  margin: auto 0 0 !important;
  color: #102a43 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-decoration: none !important;
}

@media (max-width: 991px) {
  .page-store .store-profile-benefits__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html body .page-store section#sponsors.store-profile-benefits.ck-container {
    padding: 32px 14px !important;
  }

  .page-store .store-profile-benefits__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

body:has(.page-store) .pm-site-footer.ps-footer,
body:has(.page-store) footer.pm-site-footer,
body:has(.pm-reviews-section) .pm-site-footer.ps-footer,
body:has(.pm-reviews-section) footer.pm-site-footer {
  margin-top: 80px !important;
}

#business-supporters .store-profile-ministries__header h2 {
  height: 36px !important;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
}

#business-supporters .store-profile-ministries__header p {
  min-height: 20px !important;
  margin: 4px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.page-store #about,
.page-store #shop,
.page-store #give,
.page-store #causas,
.page-store #business-supporters,
.page-store #sponsors {
  scroll-margin-top: 170px !important;
}

html,
body {
  min-height: 100% !important;
  background:
    radial-gradient(1200px 600px at 80% -10%, #d6f0fb 0%, transparent 60%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 35%, #eef8fb 100%) !important;
}

.page-store,
.page-store .ps-store-list,
.page-store .store-page,
.page-store .store-page--parish,
.page-store .store-page--cause {
  background: transparent !important;
  background-image: none !important;
}

.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count,
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count,
.page-store .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  width: auto !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  transform: none !important;
}

.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
.page-store .pm-store-header__cart .header__extra.pm-cart-pill {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
}

.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill:has(.pm-cart-pill__count:not(.pm-cart-pill__count--empty)),
.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count,
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill:has(.pm-cart-pill__count:not(.pm-cart-pill__count--empty)),
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count,
.page-store .pm-store-header__cart .header__extra.pm-cart-pill:has(.pm-cart-pill__count:not(.pm-cart-pill__count--empty)) {
  width: 70px !important;
  min-width: 70px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
}

.store-identity-shell.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count {
  width: 70px !important;
  min-width: 70px !important;
  height: 38px !important;
  min-height: 38px !important;
}

.pm-store-header__cart .btn-shopping-cart.pm-cart-pill.pm-cart-pill--has-count {
  box-sizing: border-box !important;
  width: 70px !important;
  min-width: 70px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
}

.pm-store-header__cart.store-identity-nav__cart:has(.btn-shopping-cart.pm-cart-pill--has-count) {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
}

.pm-store-profile-header .pm-store-header__top:has(.pm-cart-pill--has-count) .pm-store-header__search.ps-form--search-mobile,
.page-store .pm-store-profile-header .pm-store-header__top:has(.pm-cart-pill--has-count) .pm-store-header__search.ps-form--search-mobile {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.pm-store-profile-header .pm-store-header__top:has(.pm-cart-pill--has-count) .pm-store-header__actions,
.page-store .pm-store-profile-header .pm-store-header__top:has(.pm-cart-pill--has-count) .pm-store-header__actions {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count.pm-cart-pill__count--empty,
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count.pm-cart-pill__count--empty,
.page-store .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count.pm-cart-pill__count--empty {
  display: none !important;
}

.pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count i,
.page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count i,
.page-store .pm-store-header__cart .header__extra.pm-cart-pill .pm-cart-pill__count i {
  color: #ffffff !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* Absolute final mobile override: Vercel parity for /stores/skd. */
@media (max-width: 991px) {
  html body .page-store .pm-store-profile-header.store-identity-shell {
    height: 175px !important;
    min-height: 175px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header.store-identity-nav {
    height: 175px !important;
    min-height: 175px !important;
    overflow: visible !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__top {
    height: 84px !important;
    min-height: 84px !important;
    padding: 0 24px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search.ck-container {
    position: absolute !important;
    top: 84px !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 46px !important;
    padding: 0 24px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .pm-store-header__search,
  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-group--nest {
    display: flex !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-group--nest {
    align-items: center !important;
    padding: 4px 8px 4px 40px !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-control {
    display: block !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 14px !important;
    line-height: 36px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search button[type="submit"] {
    display: inline-flex !important;
    min-width: 78px !important;
    height: 34px !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    background: #0b3454 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__bottom {
    position: absolute !important;
    top: 130px !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 45px !important;
    min-height: 45px !important;
    overflow: visible !important;
    padding: 0 24px !important;
    border-bottom: 1px solid #dbeafe !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__tabs {
    display: flex !important;
    width: 100% !important;
    height: 45px !important;
    align-items: center !important;
    gap: 32px !important;
    overflow-x: auto !important;
    padding: 0 96px 0 0 !important;
    white-space: nowrap !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__tabs a {
    display: inline-flex !important;
    height: 45px !important;
    align-items: center !important;
    color: #0b3454 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 24px !important;
    text-decoration: none !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__join {
    position: absolute !important;
    top: 5px !important;
    right: 24px !important;
    display: inline-flex !important;
    height: 36px !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
  }

  html body .page-store .pm-store-header-spacer {
    height: 175px !important;
    min-height: 175px !important;
  }

  html body .page-store .store-page.store-page--parish .store-page__breadcrumb--overview {
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 24px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 24px 32px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__card {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.58 / 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__content {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 32px 28px 28px !important;
    overflow: visible !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__content h1 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #0b3454 !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 37.5px !important;
    letter-spacing: 0 !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__quote {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity {
    width: 100% !important;
    height: auto !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity > div {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__stats {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__stats > div {
    height: auto !important;
    min-height: 66px !important;
    padding: 12px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__actions {
    width: 100% !important;
    height: auto !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}

@media (max-width: 575px) {
  html body .page-store .pm-store-profile-header .pm-store-header__top,
  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search.ck-container,
  html body .page-store .pm-store-profile-header .pm-store-header__bottom,
  html body .page-store .store-page.store-page--parish .store-page__breadcrumb--overview,
  html body .page-store .store-page.store-page--parish .store-profile-hero {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__copy {
    display: none !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__tabs {
    gap: 28px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__join {
    right: 16px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__content {
    padding: 28px !important;
  }
}

/* Final pass: Vercel parish mobile drawer geometry and icons. */
/* Final active mobile correction for /stores/skd header and hero identity. */
@media (max-width: 991px) {
  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    height: 64px !important;
    min-height: 64px !important;
    align-items: center !important;
  }
}

@media (max-width: 991px) {
  html body .page-store .pm-store-profile-header .pm-store-header__top.ck-container {
    position: relative !important;
    display: flex !important;
    height: 84px !important;
    min-height: 84px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 24px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 244.2px !important;
    width: 244.2px !important;
    min-width: 244.2px !important;
    max-width: 244.2px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__logo-shell,
  html body .page-store .pm-store-profile-header .pm-store-header__logo {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
  }

  html body .page-store .pm-store-profile-header img.pm-store-header__logo {
    box-sizing: border-box !important;
    width: 60px !important;
    height: 60.4167px !important;
    min-width: 60px !important;
    min-height: 60.4167px !important;
    max-width: 60px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: flex !important;
    width: auto !important;
    height: 40px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 0 auto !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__account {
    position: static !important;
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    place-items: center !important;
    border: 1px solid #dbeafe !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #0b3454 !important;
    box-shadow: none !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart.store-identity-nav__cart {
    position: static !important;
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill,
  html body .page-store .pm-store-profile-header .pm-store-header__cart .header__extra.pm-cart-pill.pm-cart-pill--has-count {
    display: inline-flex !important;
    width: auto !important;
    min-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p,
  html body .page-store .store-page.store-page--parish .store-profile-hero__identity small {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
  }

  html body .page-store .store-page.store-page--parish .store-profile-hero__identity p {
    color: #0b3454 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
  }
}

@media (max-width: 575px) {
  html body .page-store .pm-store-profile-header .pm-store-header__top.ck-container {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__bottom {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__tabs {
    width: 100% !important;
    height: 40px !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 24px !important;
    margin-top: 4px !important;
    overflow: visible !important;
    padding: 0 80px 0 0 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__tabs a {
    height: 24px !important;
    min-height: 24px !important;
    line-height: 24px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__join {
    top: 1.7px !important;
    height: 36.7px !important;
    min-height: 36.7px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .pm-store-header__search {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search .form-group--nest {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding-right: 13px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__mobile-search button[type="submit"] {
    width: 69.6px !important;
    min-width: 69.6px !important;
    height: 32.7px !important;
    min-height: 32.7px !important;
    padding: 0 12px !important;
    font-weight: 700 !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__brand {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }

  html body .page-store .pm-store-profile-header .pm-store-header__copy {
    display: none !important;
  }
}

/* Final global mobile menu override: keep product pages aligned with home/Vercel. */
#menu-mobile.pm-mobile-menu.ps-panel--sidebar {
  width: min(340px, 86vw) !important;
  max-width: 340px !important;
  border-right: 0 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__header {
  height: 69px !important;
  min-height: 69px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo {
  width: 170.5px !important;
  max-width: calc(100% - 56px) !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__logo img {
  display: block !important;
  width: 170.5px !important;
  height: 32px !important;
  max-width: 170.5px !important;
  object-fit: contain !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__content {
  padding: 16px 12px 28px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li {
  min-height: 48px !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a {
  display: flex !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__nav > li > a {
  font-weight: 600 !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

#menu-mobile.pm-mobile-menu .pm-mobile-menu__extra {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--pm-border) !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > span {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile > li > a > i,
#menu-mobile.pm-mobile-menu .menu--mobile > li > a::before {
  position: static !important;
  top: auto !important;
  left: auto !important;
  display: grid !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  color: var(--pm-blue) !important;
  font-size: 18px !important;
  text-align: center !important;
}

#menu-mobile.pm-mobile-menu .menu--mobile-extra > li > a::before {
  display: none !important;
}

.page-store .ps-panel--sidebar.pm-store-mobile-menu[id^="store-menu-mobile-"] {
  width: min(340px, 86vw) !important;
  max-width: 340px !important;
  border-right: 0 !important;
  background: #ffffff !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.page-store .pm-store-mobile-menu .pm-store-mobile-menu__header {
  height: 69px !important;
  min-height: 69px !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid #dbeafe !important;
}

.page-store .pm-store-mobile-menu__logo {
  width: 170.5px !important;
  max-width: calc(100% - 56px) !important;
}

.page-store .pm-store-mobile-menu__logo img {
  width: 170.5px !important;
  height: auto !important;
}

.page-store .pm-store-mobile-menu__close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border: 1px solid #dbeafe !important;
  color: #64748b !important;
}

.page-store .pm-store-mobile-menu__close svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
}

.page-store .pm-store-mobile-menu__content {
  padding: 16px 12px 28px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li {
  min-height: 48px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a {
  display: flex !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  border-radius: 16px !important;
  color: #102a43 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

.page-store .pm-store-mobile-menu .menu--mobile > li > a::before,
.page-store .pm-store-mobile-menu__nav > li > a::before {
  display: none !important;
  content: none !important;
}

.page-store .pm-store-mobile-menu__icon {
  position: static !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  color: #057ea2 !important;
  stroke: currentColor !important;
}

.page-store .pm-store-mobile-menu__extra {
  margin-top: 3px !important;
  padding-top: 17px !important;
  border-top: 1px solid #dbeafe !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra > li > a {
  font-weight: 500 !important;
}

.page-store .pm-store-mobile-menu .menu--mobile-extra .pm-store-mobile-menu__icon {
  color: #64748b !important;
}

.page-store .pm-store-mobile-menu__footer {
  display: none !important;
}

/* EOF: no page-level horizontal scroll in any viewport. */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body > .ck-content,
.page-store,
.ps-page--product,
.ps-container,
.ck-container,
.pm-site-footer,
.pm-site-footer * {
  max-width: 100% !important;
}

.pm-mini-cart-drawer.ps-cart--mobile {
  right: 0 !important;
  left: auto !important;
  max-width: 100vw !important;
  transform: none !important;
}

body:not(.pm-mini-cart-open) .pm-mini-cart-drawer.ps-cart--mobile {
  pointer-events: none !important;
}

@media (max-width: 991px) {
  .pm-site-footer .ps-footer__copyright {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .pm-site-footer .pm-footer-legal-menu,
  .pm-site-footer .footer-legal-menu {
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }
}
/* Store events fixed landing page. */
.pm-events-page {
  background: linear-gradient(180deg, #f5fbff 0%, #ffffff 58%, #eff9fd 100%);
  color: var(--pm-navy);
  font-family: var(--pm-font-sans) !important;
  padding-bottom: 0;
}

.pm-events-section {
  box-sizing: border-box;
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 16px;
}

.pm-events-upcoming {
  padding-bottom: 80px;
}

@media (min-width: 640px) {
  .pm-events-section {
    padding-right: 24px;
    padding-left: 24px;
  }
}

.pm-events-section--breadcrumb {
  padding-top: 16px;
  padding-bottom: 16px;
}

.pm-events-breadcrumb {
  overflow-x: auto;
}

.pm-events-breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--pm-muted);
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
}

.pm-events-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pm-events-breadcrumb li:not(:last-child)::after {
  content: "/";
  color: var(--pm-muted);
}

.pm-events-breadcrumb a {
  color: inherit !important;
  text-decoration: none !important;
}

.pm-events-breadcrumb a:hover {
  color: var(--pm-blue) !important;
}

.pm-events-breadcrumb span {
  color: var(--pm-navy);
  font-weight: 700;
}

.pm-events-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  padding-top: 0;
  padding-bottom: 8px;
}

.pm-events-hero__intro {
  display: flex;
  min-height: 340px;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: var(--pm-card-shadow) !important;
  padding: 32px !important;
}

.pm-events-pill,
.pm-events-page .pm-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background: var(--pm-soft);
  color: var(--pm-blue);
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  padding: 4px 12px;
}

.pm-events-page .pm-kicker {
  text-transform: none;
  letter-spacing: 0;
}

.pm-events-hero h1 {
  margin: 0;
  max-width: 580px;
  color: var(--pm-navy);
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 36px;
  font-weight: 800 !important;
  line-height: 45px;
  letter-spacing: -1px;
  font-synthesis: none !important;
}

.pm-events-hero h1 .pm-gradient-text {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 800 !important;
  font-synthesis: none !important;
}

.pm-events-page .pm-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}

.pm-events-page .pm-btn:hover {
  transform: translateY(-1px);
  text-decoration: none !important;
}

.pm-events-page .pm-btn-primary {
  border-color: transparent !important;
  background: linear-gradient(135deg, #0588aa 0%, #45b1e1 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, .25);
}

.pm-events-page .pm-btn-secondary {
  border-color: var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  box-shadow: none;
}

.pm-events-hero p,
.pm-events-upcoming__head p,
.pm-events-copy,
.pm-events-card__body p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}

.pm-events-hero__intro > p {
  max-width: 448px;
}

.pm-events-store-card {
  position: relative;
  isolation: isolate;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  box-shadow: var(--pm-card-shadow);
  color: #ffffff !important;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}

.pm-events-store-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-events-store-card > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pm-events-store-card > span {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .15) 45%, rgba(0, 0, 0, .55));
}

.pm-events-store-card > div {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: 32px;
}

.pm-events-store-card small {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  background: rgba(255, 255, 255, .15);
  color: rgba(255, 255, 255, .85);
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: .44px;
  padding: 4px 12px;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.pm-events-store-card h2,
.pm-events-store-card p {
  margin: 0;
  color: inherit;
}

.pm-events-store-card h2 {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 30px;
  font-weight: 800;
  line-height: 36px;
}

.pm-events-store-card p {
  color: rgba(255, 255, 255, .85);
  font-size: 14px;
  line-height: 20px;
}

.pm-events-featured {
  padding-top: 18px;
}

.pm-events-featured__card {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.55fr) minmax(320px, .95fr);
  align-items: stretch;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid rgba(178, 213, 230, .8);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(14, 58, 88, .08);
  padding: 0 !important;
}

.pm-events-featured__media,
.pm-events-card__media {
  position: relative;
  overflow: hidden;
  min-height: 200px;
}

.pm-events-featured__media {
  min-height: 420px;
}

.pm-events-featured__media > img,
.pm-events-card__media > img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.pm-events-featured__media > span,
.pm-events-card__media > span {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(5, 34, 48, .55), rgba(5, 34, 48, .04) 58%);
}

.pm-events-date {
  display: flex;
  position: absolute;
  left: 16px;
  bottom: 16px;
  width: 64px;
  height: 64px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.pm-events-card__media .pm-events-date {
  top: 16px;
  bottom: auto;
}

.pm-events-date p,
.pm-events-date strong {
  margin: 0;
}

.pm-events-date p {
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 12px;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.pm-events-date strong {
  color: var(--pm-navy);
  font-size: 24px;
  font-weight: 800;
  line-height: 24px;
}

.pm-events-spots {
  position: absolute;
  right: 16px;
  bottom: 16px;
  border-radius: 999px;
  background: rgba(5, 34, 48, .72);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 16px;
  padding: 6px 12px;
  backdrop-filter: blur(8px);
}

.pm-events-featured__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  padding: 30px 28px;
}

.pm-events-featured h2,
.pm-events-upcoming h2 {
  margin: 8px 0 0;
  color: var(--pm-navy);
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 30px;
  font-weight: 800 !important;
  line-height: 36px;
  letter-spacing: 0;
}

.pm-events-location {
  margin: 4px 0 0;
  color: var(--pm-blue);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.pm-events-copy {
  margin-top: 8px;
}

.pm-events-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.pm-events-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.pm-events-meta-grid > div {
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: linear-gradient(180deg, #f9fdff 0%, #f2f9fc 100%);
  padding: 14px;
}

.pm-events-meta-grid p,
.pm-events-featured__checkout p {
  margin: 0;
  color: var(--pm-muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 14px;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.pm-events-meta-grid strong {
  display: block;
  margin-top: 2px;
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
  line-height: 20px;
}

.pm-events-meta-grid span {
  color: var(--pm-muted);
  font-size: 12px;
  line-height: 18px;
}

.pm-events-featured__checkout {
  display: flex;
  min-width: 320px;
  flex-direction: column;
  justify-content: center;
  gap: 17px;
  border-left: 1px solid var(--pm-border);
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfe 100%);
  padding: 30px 24px;
}

.pm-events-featured__checkout strong {
  display: block;
  color: var(--pm-navy);
  font-size: 30px;
  font-weight: 800;
  line-height: 36px;
}

.pm-events-featured__checkout span {
  color: var(--pm-muted);
  font-size: 12px;
  line-height: 18px;
}

.pm-events-quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: #f8fcfe;
  min-height: 46px;
  padding: 8px 16px;
}

.pm-events-quantity button {
  border: 0;
  background: transparent;
  color: var(--pm-navy);
  font-size: 18px;
  font-weight: 700;
}

.pm-events-quantity span {
  flex: 1;
  color: var(--pm-navy);
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}

.pm-events-featured__checkout .pm-btn {
  width: 100%;
  min-height: 46px;
}

.pm-events-upcoming__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 24px;
}

.pm-events-upcoming h2 {
  font-size: 30px;
}

.pm-events-upcoming__head p {
  max-width: 672px;
  margin-top: 4px;
}

.pm-events-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.pm-events-filters span {
  cursor: default;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  padding: 6px 16px;
}

.pm-events-filters span.is-active {
  border-color: var(--pm-navy);
  background: var(--pm-navy);
  color: #ffffff;
}

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

.pm-events-card {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(178, 213, 230, .85);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(14, 58, 88, .07);
  padding: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pm-events-card:hover {
  transform: translateY(-2px);
  border-color: rgba(80, 172, 210, .55);
  box-shadow: 0 24px 54px rgba(14, 58, 88, .11);
}

.pm-events-card__media {
  height: 158px;
  min-height: 158px;
  border-radius: 22px 22px 0 0;
}

.pm-events-card__media > img {
  display: block;
  height: 158px;
  transition: transform .35s ease;
}

.pm-events-card:hover .pm-events-card__media > img {
  transform: scale(1.035);
}

.pm-events-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 10px;
  padding: 18px 16px 16px;
}

.pm-events-card__body h3 {
  margin: 0;
  color: var(--pm-navy);
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px;
  font-weight: 800 !important;
  line-height: 22px;
}

.pm-events-card__body p {
  min-height: 44px;
}

.pm-events-card__body > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 14px;
}

.pm-events-card__body a {
  color: var(--pm-navy) !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}

.pm-events-card__body a:hover {
  color: var(--pm-blue) !important;
}

.pm-events-card__body strong {
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 800;
}

@media (max-width: 991px) {
  .pm-events-hero,
  .pm-events-featured__card,
  .pm-events-grid {
    grid-template-columns: 1fr;
  }

  .pm-events-featured__checkout {
    min-width: 0;
    border-top: 1px solid var(--pm-border);
    border-left: 0;
  }
}

@media (max-width: 767px) {
  .pm-events-section {
    padding-right: 18px;
    padding-left: 18px;
  }

  .pm-events-hero__intro,
  .pm-events-store-card > div {
    padding: 24px !important;
  }

  .pm-events-hero h1 {
    font-size: 30px;
    line-height: 36px;
  }

  .pm-events-featured h2,
  .pm-events-upcoming h2 {
    font-size: 24px;
    line-height: 30px;
  }

  .pm-events-featured__media {
    min-height: 280px;
  }

  .pm-events-featured__content,
  .pm-events-featured__checkout {
    padding: 22px;
  }

  .pm-events-meta-grid {
    grid-template-columns: 1fr;
  }
}

/* Hard lock the fixed events hero title to Segoe UI. */
html body .page-store .store-page--events .pm-events-page .pm-events-hero .pm-events-hero__intro > h1,
html body .page-store .store-page--events .pm-events-page .pm-events-hero .pm-events-hero__intro > h1 *,
html body .page-store .store-page--events .pm-events-page .pm-events-hero h1,
html body .page-store .store-page--events .pm-events-page .pm-events-hero h1 * {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: -1px !important;
}

html body .page-store .store-page--events .pm-events-page .pm-events-hero .pm-events-hero__intro > h1 {
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 45px !important;
}

.pm-events-title-segoe,
.pm-events-title-segoe__accent {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-synthesis: none !important;
  letter-spacing: -1px !important;
}

.pm-events-title-segoe {
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 45px !important;
}

.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
  font-weight: unset;
  color: #102039;
}
/* Absolute EOF /products mobile card override. */
@media (max-width: 767px) {
  body#product-page .pm-shop-hero,
  body#product-page .pm-shop-steps,
  body#product-page .pm-shop-sponsor,
  body#product-page .pm-shop-explore,
  body#product-page .pm-shop-results > .row.d-md-none,
  body#product-page .pm-shop-results__header {
    display: none !important;
  }

  body#product-page .ps-container,
  body#product-page .ps-layout--shop,
  body#product-page .ps-layout__right,
  body#product-page .ps-shopping,
  body#product-page .pm-shop-listing__grid,
  body#product-page .pm-shop-results,
  body#product-page .bb-product-items-wrapper,
  body#product-page .ps-shopping-product,
  body#product-page .pm-shop-products-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body#product-page .pm-shop-listing__grid {
    display: block !important;
  }

  body#product-page .ps-shopping {
    padding: 0 0 36px !important;
  }

  body#product-page .pm-shop-chips {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin: 0 0 16px !important;
    padding: 0 0 2px !important;
    scrollbar-width: none !important;
  }

  body#product-page .pm-shop-chips a:nth-child(-n+3) {
    display: none !important;
  }

  body#product-page .pm-shop-chips a {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 8px 16px !important;
    border: 1px solid #dbeafe !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--pm-navy) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  body#product-page .pm-shop-products-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body#product-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
  }

  body#product-page .pm-shop-product-card__media {
    height: 224px !important;
    min-height: 224px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px 8px !important;
    background: #ffffff !important;
  }

  body#product-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body#product-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  body#product-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    font-size: 14px !important;
    line-height: 17px !important;
  }

  body#product-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  body#product-page .pm-shop-product-card__footer {
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 4px !important;
  }

  body#product-page .pm-shop-product-card__footer span {
    font-size: 14px !important;
    line-height: 18px !important;
  }

  body#product-page .pm-shop-product-card__add {
    min-width: 60px !important;
    min-height: 34px !important;
    padding: 9px 15px !important;
    font-size: 12px !important;
  }
}
/* Absolute EOF /products mobile active selector: .pm-shop-page is present on /products. */
@media (max-width: 767px) {
  .pm-shop-page {
    padding-top: 65px !important;
  }

  .pm-shop-page .pm-shop-hero,
  .pm-shop-page .pm-shop-steps,
  .pm-shop-page .pm-shop-sponsor,
  .pm-shop-page .pm-shop-results > .row.d-md-none,
  .pm-shop-page .pm-shop-results__header {
    display: none !important;
  }

  .pm-shop-page .ps-container,
  .pm-shop-page .ps-layout--shop,
  .pm-shop-page .ps-layout__right,
  .pm-shop-page .ps-shopping,
  .pm-shop-page .pm-shop-listing__grid,
  .pm-shop-page .pm-shop-results,
  .pm-shop-page .bb-product-items-wrapper,
  .pm-shop-page .ps-shopping-product,
  .pm-shop-page .pm-shop-products-grid {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .pm-shop-page .pm-shop-listing__grid {
    display: block !important;
  }

  .pm-shop-page .ps-shopping {
    padding: 0 0 36px !important;
  }

  .pm-shop-page .pm-shop-chips {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    margin: 0 0 16px !important;
    padding: 0 0 2px !important;
    scrollbar-width: none !important;
  }

  .pm-shop-page .pm-shop-chips a:nth-child(-n+3) {
    display: none !important;
  }

  .pm-shop-page .pm-shop-chips a {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 8px 16px !important;
    border: 1px solid #dbeafe !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--pm-navy) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .pm-shop-page .pm-shop-products-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .pm-shop-page .pm-shop-product-card.pm-card {
    width: 100% !important;
    min-height: 0 !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08) !important;
  }

  .pm-shop-page .pm-shop-product-card__media {
    height: 224px !important;
    min-height: 224px !important;
    max-height: 224px !important;
    aspect-ratio: auto !important;
    background: #ffffff !important;
  }

  .pm-shop-page .pm-shop-product-card__image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px 8px !important;
    background: #ffffff !important;
  }

  .pm-shop-page .pm-shop-product-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .pm-shop-page .pm-shop-product-card__body {
    gap: 9px !important;
    padding: 0 16px 16px !important;
  }

  .pm-shop-page .pm-shop-product-card__title-link h3 {
    min-height: 0 !important;
    font-size: 14px !important;
    line-height: 17px !important;
  }

  .pm-shop-page .pm-shop-product-card__body p {
    margin-top: 2px !important;
    font-size: 11px !important;
    line-height: 14px !important;
  }

  .pm-shop-page .pm-shop-product-card__footer {
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 4px !important;
  }

  .pm-shop-page .pm-shop-product-card__footer span {
    font-size: 14px !important;
    line-height: 18px !important;
  }

  .pm-shop-page .pm-shop-product-card__add {
    width: 60px !important;
    min-width: 60px !important;
    min-height: 34px !important;
    padding: 9px 15px !important;
    font-size: 12px !important;
  }
}

/* /donations Give page: align with the /products and Vercel /give layout. */
.pm-give-page.page-donations {
  max-width: none !important;
  margin: 0 !important;
  padding: 82px 0 0 !important;
  background:
    radial-gradient(1200px 600px at 80% -10%, #d6f0fb 0%, transparent 60%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 35%, #eef8fb 100%) !important;
}

.pm-give-page .pm-shop-hero,
.pm-give-page .pm-shop-steps,
.pm-give-page .pm-shop-sponsor,
.pm-give-page .pm-shop-listing {
  width: min(1280px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.pm-give-page .pm-shop-listing {
  width: min(1232px, calc(100% - 48px)) !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pm-give-page,
.pm-give-page :where(h1, h2, h3, h4, h5, h6, p, a, span, label, li, strong, small, input, button, select, textarea) {
  font-family: var(--pm-font-sans) !important;
}

.pm-give-page i[class^="icon-"],
.pm-give-page i[class*=" icon-"] {
  font-family: Linearicons !important;
}

.pm-give-page .text-gorda,
.pm-give-page .pm-shop-hero h1,
.pm-give-page .pm-shop-hero h1 span,
.pm-give-page .pm-shop-hero__media-content h2,
.pm-give-page .pm-shop-results__header h2,
.pm-give-page .pm-give-card__body h3 {
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.pm-give-page .pm-shop-hero__media::after {
  background: linear-gradient(180deg, rgba(5, 34, 48, .28), rgba(5, 34, 48, .08) 44%, rgba(5, 34, 48, .68));
}

.pm-give-page .pm-shop-sponsor a {
  background: linear-gradient(90deg, #083b60, #087fa5, #42addc);
}

.pm-give-listing .pm-shop-results {
  min-width: 0;
}

.pm-give-page .pm-shop-results__header {
  align-items: flex-start;
}

.pm-give-results__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pm-give-results__actions .pm-donations-toolbar__count,
.pm-give-results__actions .pm-donations-toolbar__per-page {
  min-width: 0 !important;
  margin: 0 !important;
}

.pm-give-results__actions .products-layout {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}

.pm-give-results__actions .products-layout a {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  place-items: center;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-muted) !important;
  text-decoration: none !important;
}

.pm-give-results__actions .products-layout li.active a,
.pm-give-results__actions .products-layout a:hover {
  border-color: var(--pm-blue) !important;
  background: var(--pm-blue) !important;
  color: #ffffff !important;
}

.pm-give-page .pm-donations-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.pm-give-page .pm-donations-grid .pm-give-card.pm-card {
  min-height: 0 !important;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  box-shadow: var(--pm-card-shadow);
}

.pm-give-page .pm-donations-grid .pm-give-card__media {
  height: 190px !important;
  border-radius: 24px 24px 0 0;
}

.pm-give-page .pm-donations-grid .pm-give-card__media > img {
  height: 100%;
  object-fit: cover;
}

.pm-give-page .pm-donations-grid .pm-give-card__body {
  padding: 34px 16px 18px !important;
}

.pm-give-page .pm-give-card__body h3 {
  color: var(--pm-navy) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
}

.pm-give-page .pm-give-card__button {
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

.pm-give-page ~ span .ps-newsletter,
.pm-give-page ~ .ps-site-features {
  display: none !important;
}

@media (max-width: 1199px) {
  .pm-give-page .pm-donations-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .pm-give-page.page-donations {
    padding-top: 72px !important;
  }

  .pm-give-page .pm-shop-hero,
  .pm-give-page .pm-shop-steps,
  .pm-give-page .pm-shop-sponsor,
  .pm-give-page .pm-shop-listing {
    width: 100% !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .pm-give-page .pm-shop-listing {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .pm-give-results__actions {
    justify-content: flex-start;
  }

  .pm-give-page .pm-donations-grid {
    grid-template-columns: 1fr !important;
  }
}

/* /stores communities page: Vercel communities parity. */
html.pm-communities-document,
body.pm-communities-document {
  background: transparent !important;
  background-image: none !important;
}

.pm-communities-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  background: transparent !important;
  color: var(--pm-ink);
  font-family: var(--pm-font-sans) !important;
}

.pm-communities-page *,
.pm-communities-page *::before,
.pm-communities-page *::after {
  box-sizing: border-box;
}

.pm-communities-page ~ span .ps-newsletter,
.pm-communities-page ~ .ps-site-features {
  display: none !important;
}

.pm-communities-breadcrumb.ps-breadcrumb {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 72px 0 0 !important;
  background: transparent !important;
}

.pm-communities-breadcrumb .ps-container {
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 16px !important;
}

.pm-communities-breadcrumb .breadcrumb-custom {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.pm-communities-breadcrumb .breadcrumb-custom a {
  color: #334155 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.pm-communities-breadcrumb .breadcrumb-custom a:hover {
  color: var(--pm-blue) !important;
}

.pm-communities-breadcrumb .breadcrumb-custom span[aria-hidden="true"] {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.pm-communities-breadcrumb .breadcrumb-custom span:last-child {
  color: var(--pm-navy) !important;
  font-weight: 800 !important;
}

.pm-communities-hero,
.pm-communities-section {
  width: min(1280px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding: 32px 16px;
}

.pm-communities-hero {
  padding-top: 10px;
  padding-bottom: 8px;
}

.pm-communities-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 1fr);
  gap: 16px;
  align-items: stretch;
}

.pm-communities-page .pm-card,
.pm-communities-page .pm-dark-panel {
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

.pm-communities-page .pm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.pm-communities-page .pm-btn:hover {
  transform: translateY(-1px);
}

.pm-communities-page .pm-btn-primary {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
}

.pm-communities-hero__intro {
  display: flex;
  min-height: 340px;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  padding: 32px;
}

.pm-communities-kicker {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--pm-soft);
  color: var(--pm-blue);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.pm-communities-hero h1 {
  max-width: 620px;
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.13 !important;
}

.pm-communities-hero__intro > p {
  max-width: 430px;
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.pm-communities-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pm-communities-featured {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 340px;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 32px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: var(--pm-card-shadow);
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.pm-communities-featured:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-communities-featured::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.55));
}

.pm-communities-featured > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.pm-communities-featured:hover > img {
  transform: scale(1.025);
}

.pm-communities-featured__label {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.pm-communities-featured__content {
  display: grid;
  gap: 8px;
}

.pm-communities-featured h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.pm-communities-featured p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 14px !important;
}

.pm-communities-sponsor-banner {
  width: min(1280px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding: 12px 16px;
}

.pm-communities-sponsor-banner__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: linear-gradient(90deg, var(--pm-navy), var(--pm-blue), var(--pm-cyan));
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: var(--pm-card-shadow);
  transition: box-shadow 0.16s ease, transform 0.16s ease;
}

.pm-communities-sponsor-banner__link:hover {
  color: #ffffff !important;
  box-shadow: var(--pm-soft-shadow);
}

.pm-communities-sponsor-banner__copy {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
}

.pm-communities-sponsor-banner__icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  backdrop-filter: blur(10px);
}

.pm-communities-sponsor-banner__icon svg {
  width: 20px;
  height: 20px;
}

.pm-communities-sponsor-banner__copy small {
  display: block;
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.pm-communities-sponsor-banner__copy strong {
  display: block;
  color: #ffffff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.22;
}

.pm-communities-sponsor-banner__button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  transition: transform 0.16s ease;
}

.pm-communities-sponsor-banner__link:hover .pm-communities-sponsor-banner__button {
  transform: translateX(2px);
}

.pm-communities-sponsor-banner__button svg {
  width: 14px;
  height: 14px;
}

.pm-communities-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.pm-communities-section__header h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
}

.pm-communities-section__header p {
  max-width: 660px;
  margin: 6px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.pm-communities-section__header > a {
  flex: 0 0 auto;
  color: var(--pm-blue) !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
}

.pm-communities-section__header > a.pm-communities-section__header-link--dark {
  color: #102a43 !important;
}

.pm-cards-carousel {
  position: relative;
  padding-right: 68px;
  padding-left: 68px;
}

.pm-cards-carousel__track {
  display: flex;
  gap: 16px;
  align-items: stretch;
  margin: 0;
  padding: 0 4px 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.pm-cards-carousel__track::-webkit-scrollbar {
  display: none;
}

.pm-cards-carousel__slide {
  display: flex;
  width: calc((100% - 48px) / 4);
  min-width: calc((100% - 48px) / 4);
  flex: 0 0 calc((100% - 48px) / 4);
  scroll-snap-align: start;
}

.pm-cards-carousel__slide.pm-shop-product-card--hidden {
  display: none !important;
}

.pm-communities-page .pm-community-card {
  display: flex;
  width: 100%;
  min-height: 392px;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border-color: var(--pm-border) !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.pm-communities-page .pm-community-card:hover {
  transform: translateY(-2px);
  box-shadow: none !important;
}

.pm-communities-page .pm-community-card__photo {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 0;
  border-radius: 24px 24px 0 0;
  background: #ffffff;
  text-decoration: none !important;
}

.pm-communities-page .pm-community-card__photo > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: contain;
  object-position: center center;
}

.pm-communities-page .pm-communities-section--stores .pm-community-card__photo > img {
  object-fit: cover !important;
}

.pm-communities-page .pm-communities-section--ministries .pm-community-card__photo > img {
  object-fit: cover !important;
}

.pm-communities-page .pm-community-card__logo {
  position: absolute;
  right: 12px;
  bottom: -22px;
  z-index: 2;
  display: none;
  width: 72px;
  height: 72px;
  place-items: center;
  padding: 7px;
  overflow: hidden;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(7, 32, 57, 0.12);
  outline: 4px solid #ffffff;
}

.pm-communities-page .pm-community-card__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pm-communities-page .pm-community-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 7px;
  padding: 18px 20px 18px;
  font-family: var(--pm-font-sans) !important;
}

.pm-communities-page .pm-store-carousel-card .pm-community-card__body {
  padding-top: 18px;
}

.pm-communities-page .pm-community-card__body > a {
  color: inherit !important;
  text-decoration: none !important;
}

.pm-communities-page .pm-community-card h3 {
  margin: 0 !important;
  color: #102a43 !important;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.26 !important;
}

.pm-communities-page .pm-community-card h3:hover {
  color: var(--pm-blue) !important;
}

.pm-communities-page .pm-community-card__location {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

.pm-communities-page .pm-community-card__body > p:not(.pm-community-card__location) {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

.pm-communities-page .pm-community-card__link {
  margin-top: auto;
  padding-top: 8px;
  color: #102a43 !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-decoration: none !important;
}

.pm-communities-page .pm-community-card__link:hover {
  color: var(--pm-blue) !important;
}

.pm-cards-carousel__nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  box-shadow: var(--pm-card-shadow);
  transform: translateY(-50%);
  transition: border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.pm-cards-carousel__nav:hover {
  border-color: var(--pm-blue);
  color: var(--pm-blue);
}

.pm-cards-carousel__nav:disabled {
  cursor: default;
  opacity: 0;
  pointer-events: none;
}

.pm-cards-carousel__nav--prev {
  left: 8px;
}

.pm-cards-carousel__nav--next {
  right: 8px;
}

.pm-cards-carousel__nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-communities-section--stores .pm-shop-load-more {
  margin-top: 18px !important;
  margin-bottom: 80px !important;
  text-align: center !important;
}

.pm-communities-section--stores .pm-shop-load-more__button {
  min-width: 132px !important;
  min-height: 42px !important;
  border: 1px solid #057ea2 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #057ea2 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.pm-communities-section--stores .pm-shop-load-more__button:hover,
.pm-communities-section--stores .pm-shop-load-more__button:focus {
  border-color: #057ea2 !important;
  background: rgba(5, 126, 162, 0.08) !important;
  color: #057ea2 !important;
}

.pm-communities-cta {
  padding: 40px !important;
  overflow: hidden;
  border: 0 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(69, 177, 225, 0.26), transparent 28%),
    linear-gradient(135deg, #082843 0%, #0b3454 48%, #057ea2 100%) !important;
  color: #ffffff;
}

.pm-communities-cta__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.pm-communities-cta h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.pm-communities-cta p {
  max-width: 680px;
  margin: 12px 0 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.pm-communities-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pm-communities-cta__secondary {
  background: rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
}

.pm-communities-cta__secondary:hover {
  background: rgba(255, 255, 255, 0.20) !important;
}

.pm-communities-cta__primary {
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  box-shadow: none !important;
}

.pm-communities-sponsorships {
  padding-top: 8px;
}

.pm-communities-sponsorships .pm-shop-sponsorships__benefits article {
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--pm-card-shadow);
}

@media (max-width: 1199px) {
  .pm-cards-carousel {
    padding-right: 60px;
    padding-left: 60px;
  }

  .pm-cards-carousel__slide {
    width: calc((100% - 32px) / 3);
    min-width: calc((100% - 32px) / 3);
    flex-basis: calc((100% - 32px) / 3);
  }
}

@media (max-width: 991px) {
  .pm-communities-hero__grid {
    grid-template-columns: 1fr;
  }

  .pm-communities-featured {
    min-height: 280px;
  }

  .pm-cards-carousel__slide {
    width: calc((100% - 16px) / 2);
    min-width: calc((100% - 16px) / 2);
    flex-basis: calc((100% - 16px) / 2);
  }

  .pm-communities-cta__content,
  .pm-shop-sponsorships__grid {
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .pm-communities-breadcrumb.ps-breadcrumb {
    padding-top: 66px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .pm-communities-page {
    padding-top: 0 !important;
  }

  .pm-communities-hero,
  .pm-communities-section {
    padding-right: 16px;
    padding-left: 16px;
  }

  .pm-communities-hero__intro {
    min-height: 300px;
    padding: 24px;
  }

  .pm-communities-hero h1 {
    font-size: 30px !important;
  }

  .pm-communities-featured {
    min-height: 260px;
    padding: 24px;
  }

  .pm-communities-section__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .pm-communities-sponsor-banner__link {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
  }

  .pm-communities-sponsor-banner__copy {
    align-items: flex-start;
  }

  .pm-communities-sponsor-banner__copy strong {
    font-size: 16px;
  }

  .pm-communities-section__header h2,
  .pm-communities-cta h2 {
    font-size: 24px !important;
  }

  .pm-cards-carousel__slide {
    width: 78%;
    min-width: 78%;
    flex-basis: 78%;
  }

  .pm-cards-carousel {
    padding-right: 0;
    padding-left: 0;
  }

  .pm-cards-carousel__nav {
    display: none;
  }

  .pm-communities-cta {
    padding: 28px 24px !important;
  }

  .pm-shop-sponsorships__benefits {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 479px) {
  .pm-cards-carousel__slide {
    width: 86%;
    min-width: 86%;
    flex-basis: 86%;
  }
}

/* /local-businesses page: Local Biz Supporters. */
html.pm-local-biz-document,
body.pm-local-biz-document {
  background: transparent !important;
  background-image: none !important;
}

.pm-local-biz-page .pm-btn-secondary {
  border-color: var(--pm-border) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  box-shadow: none !important;
}

.pm-local-biz-page .pm-btn-secondary:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-blue) !important;
}

.pm-local-biz-page .pm-btn-dark {
  min-height: 40px;
  padding: 11px 20px;
  background: var(--pm-navy) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.pm-local-biz-hero__media {
  min-height: 340px;
  cursor: default;
}

.pm-local-biz-search,
.pm-local-biz-tabs,
.pm-local-biz-section {
  width: min(1280px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}

.pm-local-biz-search {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pm-local-biz-search__intro {
  margin-bottom: 12px;
}

.pm-local-biz-search__intro p {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.pm-local-biz-search__intro span {
  display: block;
  margin-top: 3px;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.pm-local-biz-search__form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pm-local-biz-search__field {
  display: flex;
  flex: 1 1 240px;
  min-width: 180px;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
}

.pm-local-biz-search__field svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: var(--pm-muted);
}

.pm-local-biz-search__field .pm-input {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  outline: 0;
  background: transparent;
  color: var(--pm-navy);
  font-size: 14px;
  line-height: 1.4;
}

.pm-local-biz-search__field .pm-input::placeholder {
  color: #94a3b8;
}

.pm-local-biz-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.pm-local-biz-filter-pill:hover {
  border-color: var(--pm-blue);
  color: var(--pm-navy);
}

.pm-local-biz-filter-pill svg {
  width: 14px;
  height: 14px;
  color: var(--pm-muted);
}

.pm-local-biz-search__submit {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pm-local-biz-tabs {
  padding-top: 0;
  padding-bottom: 16px;
}

.pm-local-biz-tabs > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pm-local-biz-tabs .pm-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 14px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.pm-local-biz-tabs .pm-local-biz-tabs__chip--active {
  border-color: transparent !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

.pm-local-biz-section {
  padding-top: 0;
  padding-bottom: 32px;
}

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

.pm-local-biz-card-wrap.pm-shop-product-card--hidden {
  display: none !important;
}

.pm-local-biz-card {
  display: flex;
  height: 100%;
  min-height: 492px;
  flex-direction: column;
  overflow: hidden;
  padding: 12px;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.pm-local-biz-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-local-biz-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: visible;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #ffffff;
  text-decoration: none !important;
}

.pm-local-biz-card__media > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.pm-local-biz-card__media::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background: linear-gradient(0deg, rgba(7, 32, 57, 0.22), transparent 50%);
}

.pm-local-biz-card__benefit {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--pm-navy);
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.pm-local-biz-card__logo,
.pm-local-biz-card__avatar {
  position: absolute;
  right: 12px;
  bottom: 0;
  z-index: 3;
  display: grid;
  width: 80px;
  height: 80px;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
  outline: 3px solid #ffffff;
  transform: translateY(25%);
}

.pm-local-biz-card__logo {
  padding: 6px;
}

.pm-local-biz-card__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pm-local-biz-card__avatar {
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff;
  font-size: 20px;
  font-weight: 800;
}

.pm-local-biz-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  padding: 32px 12px 4px;
}

.pm-local-biz-card__body > .pm-label {
  width: fit-content;
  align-self: flex-start;
  min-height: 24px;
  padding: 5px 10px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase;
}

.pm-local-biz-card__body > a {
  color: inherit !important;
  text-decoration: none !important;
}

.pm-local-biz-card h3 {
  margin: 0 !important;
  color: #102a43 !important;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.26 !important;
}

.pm-local-biz-card h3:hover {
  color: var(--pm-blue) !important;
}

.pm-local-biz-card__location {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

.pm-local-biz-card__description {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

.pm-local-biz-card__support {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.pm-local-biz-card__support-logo {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  overflow: hidden;
  padding: 2px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: var(--pm-soft-shadow);
  outline: 1px solid var(--pm-border);
}

.pm-local-biz-card__support-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pm-local-biz-card__support > div {
  flex: 1 1 auto;
  min-width: 0;
  padding: 8px 12px;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: rgba(238, 248, 251, 0.6);
}

.pm-local-biz-card__support p {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.pm-local-biz-card__support span {
  display: block;
  margin-top: 2px;
  color: var(--pm-muted) !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}

.pm-local-biz-card__body > a.pm-local-biz-card__link {
  margin-top: auto;
  padding-top: 4px;
  color: #102a43 !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-decoration: none !important;
}

.pm-local-biz-card__body > a.pm-local-biz-card__link:hover {
  color: var(--pm-navy) !important;
}

.pm-local-biz-load-more {
  margin-top: 28px !important;
  margin-bottom: 48px !important;
  text-align: center !important;
}

.pm-local-biz-load-more .pm-shop-load-more__button {
  min-width: 132px !important;
  min-height: 42px !important;
  border: 1px solid #057ea2 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #057ea2 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.pm-local-biz-load-more .pm-shop-load-more__button:hover,
.pm-local-biz-load-more .pm-shop-load-more__button:focus {
  background: rgba(5, 126, 162, 0.08) !important;
  color: #057ea2 !important;
}

.pm-local-biz-offers {
  padding-top: 12px;
  padding-bottom: 32px;
}

.pm-local-biz-offers__carousel {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pm-local-biz-offers__track {
  display: flex;
  flex: 1 1 auto;
  gap: 16px;
  align-items: stretch;
  min-width: 0;
  padding-bottom: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.pm-local-biz-offers__track::-webkit-scrollbar {
  display: none;
}

.pm-local-biz-offers__slide {
  display: flex;
  width: calc((100% - 48px) / 4);
  min-width: calc((100% - 48px) / 4);
  flex: 0 0 calc((100% - 48px) / 4);
  scroll-snap-align: start;
}

.pm-local-biz-offer-card {
  display: flex;
  width: 100%;
  min-height: 312px;
  flex-direction: column;
  overflow: hidden;
  padding: 12px;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.pm-local-biz-offer-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--pm-soft-shadow);
}

.pm-local-biz-offer-card__media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: #ffffff;
  text-decoration: none !important;
}

.pm-local-biz-offer-card__media > img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.pm-local-biz-offer-card__media::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  content: "";
  pointer-events: none;
  background: linear-gradient(0deg, rgba(7, 32, 57, 0.22), transparent 50%);
}

.pm-local-biz-offer-card__avatar {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  box-shadow: var(--pm-soft-shadow);
  outline: 2px solid #ffffff;
}

.pm-local-biz-offer-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
}

.pm-local-biz-offer-card__body > a {
  color: inherit !important;
  text-decoration: none !important;
}

.pm-local-biz-offer-card h3 {
  margin: 0 !important;
  color: #102a43 !important;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.28 !important;
}

.pm-local-biz-offer-card h3:hover {
  color: var(--pm-blue) !important;
}

.pm-local-biz-offer-card__body > p {
  margin: 0 !important;
  color: var(--pm-blue) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

.pm-local-biz-offer-card__body > a.pm-local-biz-offer-card__link {
  margin-top: auto;
  padding-top: 4px;
  color: var(--pm-blue) !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-decoration: none !important;
}

.pm-local-biz-offer-card__body > a.pm-local-biz-offer-card__link:hover {
  color: var(--pm-navy) !important;
}

.pm-local-biz-offers__nav {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--pm-navy);
  box-shadow: var(--pm-card-shadow);
  transition: border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.pm-local-biz-offers__nav:hover {
  border-color: var(--pm-blue);
  color: var(--pm-blue);
}

.pm-local-biz-offers__nav:disabled {
  cursor: not-allowed;
  opacity: 0;
}

.pm-local-biz-offers__nav svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pm-local-biz-cta .pm-dark-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 40px !important;
  border: 0 !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(69, 177, 225, 0.26), transparent 28%),
    linear-gradient(135deg, #082843 0%, #0b3454 48%, #057ea2 100%) !important;
  color: #ffffff;
}

.pm-local-biz-cta h2 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.pm-local-biz-cta p {
  max-width: 760px;
  margin: 6px 0 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.pm-local-biz-cta .pm-btn {
  flex: 0 0 auto;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  .pm-local-biz-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-local-biz-offers__slide {
    width: calc((100% - 16px) / 2);
    min-width: calc((100% - 16px) / 2);
    flex-basis: calc((100% - 16px) / 2);
  }

  .pm-local-biz-cta .pm-dark-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .pm-local-biz-search,
  .pm-local-biz-tabs,
  .pm-local-biz-section {
    padding-right: 16px;
    padding-left: 16px;
  }

  .pm-local-biz-search__form {
    align-items: stretch;
    flex-direction: column;
  }

  .pm-local-biz-search__field,
  .pm-local-biz-filter-pill,
  .pm-local-biz-search__submit {
    width: 100%;
  }

  .pm-local-biz-filter-pill,
  .pm-local-biz-search__submit {
    justify-content: center;
  }

  .pm-local-biz-grid {
    grid-template-columns: 1fr;
  }

  .pm-local-biz-card {
    min-height: 0;
  }

  .pm-local-biz-offers__carousel {
    gap: 0;
  }

  .pm-local-biz-offers__track {
    gap: 16px;
  }

  .pm-local-biz-offers__slide {
    width: 78%;
    min-width: 78%;
    flex-basis: 78%;
  }

  .pm-local-biz-offers__nav {
    display: none;
  }

  .pm-local-biz-cta .pm-dark-panel {
    padding: 28px 24px !important;
  }
}

/* Common listing-page width and breadcrumb parity. */
.pm-shop-page .pm-shop-hero,
.pm-shop-page .pm-shop-steps,
.pm-shop-page .pm-shop-sponsor,
.pm-shop-page .pm-shop-sponsorships,
.pm-shop-page .pm-shop-impact,
.pm-shop-page > .ps-container,
.pm-give-page .pm-shop-hero,
.pm-give-page .pm-shop-steps,
.pm-give-page .pm-shop-sponsor,
.pm-give-page .pm-shop-listing,
.pm-communities-page .pm-communities-hero,
.pm-communities-page .pm-communities-section,
.pm-local-biz-page .pm-local-biz-search,
.pm-local-biz-page .pm-local-biz-tabs,
.pm-local-biz-page .pm-local-biz-section {
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.pm-shop-page > .ps-container,
.pm-give-page .pm-shop-listing {
  box-sizing: border-box !important;
}

.pm-shop-page .ps-layout--shop,
.pm-shop-page .ps-layout__right,
.pm-shop-page .ps-shopping,
.pm-give-page .ps-shopping,
.pm-shop-page .pm-shop-listing__grid,
.pm-shop-page .pm-shop-results,
.pm-give-page .pm-shop-results {
  width: 100% !important;
  max-width: 100% !important;
}

body .pm-give-page .pm-shop-listing {
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 16px !important;
  padding-left: 16px !important;
}

body .pm-shop-page .pm-shop-results,
body .pm-give-page .pm-shop-results {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body .pm-give-page.page-donations {
  padding-top: 65px !important;
}

.pm-donations-breadcrumb.ps-breadcrumb,
.pm-communities-breadcrumb.ps-breadcrumb {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  background: transparent !important;
}

.pm-donations-breadcrumb .ps-container,
.pm-communities-breadcrumb .ps-container {
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.pm-donations-breadcrumb .breadcrumb-custom,
.pm-communities-breadcrumb .breadcrumb-custom {
  display: flex !important;
  gap: 7px !important;
  align-items: center !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #475569 !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
}

.pm-donations-breadcrumb .breadcrumb-custom a,
.pm-communities-breadcrumb .breadcrumb-custom a {
  color: #334155 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.pm-donations-breadcrumb .breadcrumb-custom a:hover,
.pm-communities-breadcrumb .breadcrumb-custom a:hover {
  color: var(--pm-blue) !important;
}

.pm-donations-breadcrumb .breadcrumb-custom span[aria-hidden="true"],
.pm-communities-breadcrumb .breadcrumb-custom span[aria-hidden="true"] {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.pm-donations-breadcrumb .breadcrumb-custom span:last-child,
.pm-communities-breadcrumb .breadcrumb-custom span:last-child {
  color: var(--pm-navy) !important;
  font-weight: 800 !important;
}

/* Home ecosystem sponsors: auto-scrolling partner logo marquee. */
.pm-ecosystem__sponsors-marquee {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin-top: 18px !important;
  padding: 6px 0 !important;
  mask-image: linear-gradient(90deg, transparent, #000000 8%, #000000 92%, transparent) !important;
}

.pm-ecosystem__sponsors-marquee:hover .pm-ecosystem__sponsors-track {
  animation-play-state: paused !important;
}

.pm-ecosystem__sponsors-track {
  display: flex !important;
  width: max-content !important;
  min-width: 100% !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  animation: pmSponsorMarquee 26s linear infinite !important;
  will-change: transform !important;
}

.pm-ecosystem__sponsors-track li {
  display: inline-flex !important;
  width: auto !important;
  min-width: 210px !important;
  height: 72px !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 1px solid #dbeafe !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--pm-navy) !important;
  box-shadow: 0 14px 34px rgba(8, 40, 67, 0.08) !important;
  white-space: nowrap !important;
}

.pm-ecosystem__sponsor-logo {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  place-items: center !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  box-shadow: 0 12px 24px rgba(13, 145, 184, 0.18) !important;
}

.pm-ecosystem__sponsors-track li > span:last-child {
  overflow: hidden !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 18px !important;
  text-overflow: ellipsis !important;
}

@keyframes pmSponsorMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pm-ecosystem__sponsors-track {
    animation: none !important;
  }
}

@media (max-width: 767px) {
  .pm-ecosystem__sponsors-track li {
    min-width: 180px !important;
    height: 64px !important;
    padding: 10px 14px !important;
  }

  .pm-ecosystem__sponsor-logo {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }
}

/* Home ecosystem sponsors marquee: preserve original chip look, only animate horizontally. */
.pm-ecosystem__sponsors .pm-ecosystem__sponsors-marquee {
  margin-top: 16px !important;
  padding: 2px 0 !important;
}

.pm-ecosystem__sponsors .pm-ecosystem__sponsors-track {
  gap: 10px !important;
}

.pm-ecosystem__sponsors .pm-ecosystem__sponsors-track li {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  gap: 0 !important;
  padding: 10px 14px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 18px !important;
  box-shadow: 0 10px 22px rgba(8, 40, 67, 0.06) !important;
}

/* Home fixes: keep preferred partners visually identical, but make the row a marquee. */
.pm-ecosystem__sponsors .pm-ecosystem__sponsors-marquee {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 0 !important;
  mask-image: linear-gradient(90deg, transparent, #000000 4%, #000000 96%, transparent) !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track {
  display: flex !important;
  width: max-content !important;
  min-width: 100% !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  animation: pmSponsorMarquee 26s linear infinite !important;
  will-change: transform !important;
}

.pm-ecosystem__sponsors .pm-ecosystem__sponsors-marquee:hover ul.pm-ecosystem__sponsors-track {
  animation-play-state: paused !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track li {
  display: inline-flex !important;
  width: auto !important;
  min-width: 212px !important;
  min-height: 0 !important;
  height: 64px !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 10px 18px 10px 10px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(8, 40, 67, 0.07) !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  filter: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track .pm-ecosystem__sponsor-logo {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  flex: 0 0 42px !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #8b8f95 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track .pm-ecosystem__sponsor-logo img {
  width: 100% !important;
  height: 100% !important;
  padding: 5px !important;
  border-radius: inherit !important;
  background: #ffffff !important;
  object-fit: contain !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track li > span:last-child {
  max-width: 160px !important;
  overflow: hidden !important;
  color: #0b3454 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 18px !important;
  text-overflow: ellipsis !important;
}

.pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track li:hover {
  border-color: #cfe5ff !important;
  box-shadow: 0 16px 34px rgba(8, 40, 67, 0.10) !important;
  transform: translateY(-1px) !important;
}

.pm-give-section .pm-give-card__media > span {
  width: 80px !important;
  height: 80px !important;
  padding: 6px !important;
  border-radius: 16px !important;
}

.pm-give-page .pm-donations-grid .pm-give-card__media > span {
  position: absolute !important;
  z-index: 2 !important;
  right: 12px !important;
  bottom: 0 !important;
  width: 80px !important;
  height: 80px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 35px rgba(8, 40, 67, 0.12) !important;
  outline: 2px solid #ffffff !important;
  transform: translateY(25%) !important;
}

.pm-give-page .pm-donations-grid .pm-give-card__media > span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.pm-review-card__avatar {
  font-size: 14px !important;
}

@media (max-width: 767px) {
  .pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track {
    gap: 12px !important;
  }

  .pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track li {
    min-width: 178px !important;
    height: 58px !important;
    gap: 10px !important;
    padding: 9px 14px 9px 9px !important;
    font-size: 16px !important;
    line-height: 24px !important;
  }

  .pm-ecosystem__sponsors ul.pm-ecosystem__sponsors-track .pm-ecosystem__sponsor-logo {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }
}

/* Cart page: Vercel parity for /cart. */
.pm-cart-page,
.pm-cart-page :where(h1, h2, h3, h4, h5, h6, p, a, span, small, strong, input, button, table, th, td) {
  font-family: var(--pm-font-inter) !important;
  letter-spacing: 0 !important;
}

.pm-cart-page {
  color: var(--pm-ink);
  padding-top: 65px !important;
}

.pm-cart-breadcrumb.ps-breadcrumb {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.pm-cart-breadcrumb .ps-container,
.pm-cart-hero,
.pm-cart-content__inner {
  box-sizing: border-box !important;
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.pm-cart-breadcrumb .ps-container {
  padding-top: 16px !important;
  padding-bottom: 12px !important;
}

.pm-cart-breadcrumb .breadcrumb-custom {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 17px !important;
  white-space: nowrap !important;
}

.pm-cart-breadcrumb .breadcrumb-custom a {
  color: #334155 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.pm-cart-breadcrumb .breadcrumb-custom a:hover {
  color: var(--pm-blue) !important;
}

.pm-cart-breadcrumb .breadcrumb-custom span[aria-hidden="true"] {
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

.pm-cart-breadcrumb .breadcrumb-custom span:last-child {
  color: var(--pm-navy) !important;
  font-weight: 700 !important;
}

.pm-cart-hero {
  padding-top: 10px !important;
  padding-bottom: 12px !important;
}

.pm-cart-hero__panel {
  position: relative;
  isolation: isolate;
  min-height: 171px;
  overflow: hidden;
  padding: 38px 36px;
  border: 1px solid rgba(219, 234, 254, 0.86);
  border-radius: 24px;
  background: var(--pm-navy);
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.08);
}

.pm-cart-hero__panel > img,
.pm-cart-hero__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pm-cart-hero__panel > img {
  z-index: -2;
  display: block;
  object-fit: cover;
  object-position: center 58%;
}

.pm-cart-hero__overlay {
  z-index: -1;
  background: linear-gradient(90deg, rgba(11, 52, 84, 0.92), rgba(11, 52, 84, 0.76) 50%, rgba(11, 52, 84, 0.40));
}

.pm-cart-hero__content {
  max-width: 580px;
}

.pm-cart-hero h1 {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 48px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}

.pm-cart-hero h1 span {
  display: inline !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  font-weight: 800 !important;
}

.pm-cart-hero p {
  max-width: 540px;
  margin: 10px 0 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-cart-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 0 0 !important;
  background: transparent !important;
}

.pm-cart-content__inner {
  padding-bottom: 48px !important;
}

.pm-cart-empty-card {
  display: flex;
  min-height: 269px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 40px 24px;
  border: 1px solid var(--pm-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.06);
  text-align: center;
}

.pm-cart-empty-card__icon {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border-radius: 999px;
  background: var(--pm-soft);
  color: var(--pm-blue);
}

.pm-cart-empty-card__icon svg {
  width: 30px;
  height: 30px;
}

.pm-cart-empty-card h2 {
  margin: 16px 0 0 !important;
  color: #082843 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
}

.pm-cart-empty-card p {
  margin: 8px 0 0 !important;
  color: #405b86 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
}

.pm-cart-empty-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}

.pm-cart-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.pm-cart-button:hover {
  transform: translateY(-1px);
  text-decoration: none !important;
}

.pm-cart-button--primary {
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
}

.pm-cart-button--secondary {
  border-color: var(--pm-border);
  background: #ffffff;
  color: var(--pm-blue) !important;
  box-shadow: none;
}

.pm-cart-content--filled .pm-cart-panel {
  padding: 28px 24px 24px;
  border: 1px solid var(--pm-border);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 50px rgba(2, 80, 110, 0.06);
}

.pm-cart-filled__header h2 {
  margin: 0 !important;
  color: #082843 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
}

.pm-cart-filled__header p {
  margin: 6px 0 0 !important;
  color: #405b86 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

.pm-cart-items-form {
  margin: 18px 0 0 !important;
}

.pm-cart-content--filled .ps-table--shopping-cart {
  display: grid !important;
  gap: 16px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pm-cart-item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 138px;
  padding: 12px 14px;
  border: 1px solid var(--pm-border);
  border-radius: 20px;
  background: #ffffff;
}

.pm-cart-item__media {
  display: block;
  width: 110px;
  height: 110px;
  overflow: hidden;
  border-radius: 12px;
  background: #ffffff;
  text-decoration: none !important;
}

.pm-cart-item__media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: center;
}

.pm-cart-item__body {
  min-width: 0;
}

.pm-cart-item__title {
  display: block;
  overflow: hidden;
  color: #082843 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-decoration: none !important;
  text-overflow: ellipsis;
}

.pm-cart-item__title:hover {
  color: var(--pm-blue) !important;
}

.pm-cart-item__variant {
  margin: 1px 0 0 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
}

.pm-cart-item__support {
  margin: 3px 0 0 !important;
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 16px !important;
}

.pm-cart-item__options {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 18px;
}

.pm-cart-item__options p,
.pm-cart-item__options small {
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.pm-cart-item__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.pm-cart-qty.form-group--number {
  position: static !important;
  display: grid !important;
  width: 106px !important;
  height: 38px !important;
  grid-template-columns: 32px 42px 32px !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
}

.pm-cart-qty.form-group--number button {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  display: grid !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 36px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-blue) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: none !important;
}

.pm-cart-qty.form-group--number .qty-input {
  width: 42px !important;
  height: 36px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #082843 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 36px !important;
  text-align: center !important;
  box-shadow: none !important;
}

.pm-cart-item__remove {
  color: #405b86 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-decoration: none !important;
}

.pm-cart-item__remove:hover {
  color: var(--pm-blue) !important;
}

.pm-cart-item__price {
  justify-self: end;
  color: #082843 !important;
  font-family: var(--pm-font-segoe) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 24px !important;
  white-space: nowrap;
}

.pm-cart-summary {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--pm-border);
}

.pm-cart-summary__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.pm-cart-summary__row span {
  color: #082843 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
}

.pm-cart-summary__row strong {
  color: #082843 !important;
  font-family: var(--pm-font-segoe) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 32px !important;
  white-space: nowrap;
}

.pm-cart-checkout-button {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 12px 22px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 18px 40px rgba(5, 126, 162, 0.18);
}

.pm-cart-checkout-button:hover {
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

@media (max-width: 991px) {
  .pm-cart-hero__panel {
    min-height: 164px;
    padding: 34px 30px;
  }

  .pm-cart-hero h1 {
    font-size: 42px !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 767px) {
  .pm-cart-breadcrumb .ps-container {
    padding-top: 12px !important;
    padding-right: 16px !important;
    padding-bottom: 8px !important;
    padding-left: 16px !important;
  }

  .pm-cart-hero,
  .pm-cart-content__inner {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  .pm-cart-hero {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .pm-cart-hero__panel {
    min-height: 178px;
    padding: 28px 24px;
    border-radius: 22px;
  }

  .pm-cart-hero__overlay {
    background: linear-gradient(90deg, rgba(11, 52, 84, 0.94), rgba(11, 52, 84, 0.78) 62%, rgba(11, 52, 84, 0.46));
  }

  .pm-cart-hero h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }

  .pm-cart-hero p {
    max-width: 100%;
    font-size: 13px !important;
    line-height: 19px !important;
  }

  .pm-cart-content {
    padding-top: 24px !important;
  }

  .pm-cart-empty-card {
    min-height: 260px;
    padding: 36px 20px;
    border-radius: 22px;
  }

  .pm-cart-content--filled .pm-cart-panel {
    padding: 18px;
    border-radius: 22px;
  }

  .pm-cart-item {
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: start;
    min-height: 0;
    padding: 14px;
  }

  .pm-cart-item__media {
    width: 92px;
    height: 92px;
  }

  .pm-cart-item__title {
    font-size: 15px !important;
    line-height: 20px !important;
  }

  .pm-cart-item__variant,
  .pm-cart-item__support {
    font-size: 12px !important;
    line-height: 17px !important;
  }

  .pm-cart-item__actions {
    gap: 10px;
    margin-top: 10px;
  }

  .pm-cart-item__price {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
    font-size: 18px !important;
    line-height: 24px !important;
  }

  .pm-cart-summary__row strong {
    font-size: 26px !important;
    line-height: 32px !important;
  }

  .pm-cart-checkout-button {
    min-height: 56px;
    font-size: 15px !important;
  }
}

@media (max-width: 479px) {
  .pm-cart-empty-card__actions,
  .pm-cart-button {
    width: 100%;
  }
}

.pm-auth-page {
  width: 100%;
  background:
    radial-gradient(900px 460px at 82% -12%, #d6f0fb 0%, rgba(214, 240, 251, 0) 64%),
    linear-gradient(180deg, #f6fcff 0%, #ffffff 42%, #eef8fb 100%);
  color: var(--pm-ink);
  font-family: var(--pm-font-sans) !important;
}

.pm-auth-shell.ck-container {
  width: 100%;
  max-width: 448px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 129px 24px 72px !important;
}

.pm-auth-content {
  width: 100%;
}

.pm-auth-copy {
  margin-bottom: 24px;
}

.pm-auth-copy h1 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  line-height: 42px !important;
  letter-spacing: 0 !important;
}

.pm-auth-copy h1 .pm-gradient-text {
  font-weight: 800 !important;
}

.pm-auth-copy p {
  margin: 12px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
}

.pm-auth-role-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin: 0 0 18px;
}

.pm-auth-role-switch__item {
  display: flex;
  min-width: 0;
  min-height: 66px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: #ffffff;
  color: var(--pm-ink) !important;
  text-decoration: none !important;
  box-shadow: var(--pm-soft-shadow);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pm-auth-role-switch__item:hover,
.pm-auth-role-switch__item:focus-visible {
  border-color: rgba(5, 126, 162, 0.38);
  color: var(--pm-ink) !important;
  transform: translateY(-1px);
}

.pm-auth-role-switch__item:focus-visible {
  outline: 3px solid rgba(69, 177, 225, 0.22);
  outline-offset: 2px;
}

.pm-auth-role-switch__item.is-active {
  border-color: rgba(5, 126, 162, 0.48);
  background: linear-gradient(180deg, #ffffff 0%, #eef9fd 100%);
  box-shadow: 0 16px 34px rgba(5, 126, 162, 0.16);
}

.pm-auth-role-switch__icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 12px;
  background: #eaf8fd;
  color: var(--pm-blue);
}

.pm-auth-role-switch__icon svg {
  width: 18px;
  height: 18px;
}

.pm-auth-role-switch__item.is-active .pm-auth-role-switch__icon {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan));
  color: #ffffff;
}

.pm-auth-role-switch__copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.pm-auth-role-switch__copy strong {
  overflow: hidden;
  color: var(--pm-navy);
  font-size: 13px;
  font-weight: 800;
  line-height: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-auth-role-switch__copy small {
  overflow: hidden;
  color: var(--pm-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pm-auth-page .alert {
  margin: 0 0 16px;
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: #ffffff;
  color: var(--pm-navy);
  box-shadow: var(--pm-soft-shadow);
}

.pm-auth-account .container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.pm-auth-account .mobile-top,
.pm-auth-account .container > .row,
.pm-auth-account .container > .row > .col-12 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pm-auth-account,
.pm-auth-account .container,
.pm-auth-page .auth-card,
.pm-auth-page .auth-card__body,
.pm-auth-form,
.pm-auth-form .login-options {
  background: transparent !important;
}

.pm-auth-page .auth-card.card {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.pm-auth-page .auth-card__header {
  display: none !important;
}

.pm-auth-page .auth-card__body {
  padding: 0 !important;
}

.pm-auth-form.ps-form--account {
  display: flex;
  width: 100%;
  max-width: none;
  flex-direction: column;
  margin: 0;
  padding-top: 0 !important;
}

.pm-auth-form label,
.pm-auth-form .form-label {
  margin-bottom: 6px !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
}

.pm-auth-form .mb-3 {
  margin-bottom: 16px !important;
}

.pm-auth-form .position-relative {
  width: 100%;
}

.pm-auth-form .form-control {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--pm-ink) !important;
  font-size: 14px !important;
  line-height: 20px !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

.pm-auth-form .form-control:focus {
  border-color: var(--pm-cyan) !important;
  box-shadow: 0 0 0 3px rgba(69, 177, 225, 0.18), var(--pm-soft-shadow) !important;
}

.pm-auth-form .form-control::placeholder {
  color: var(--pm-muted);
}

.pm-auth-form .auth-input-icon.input-group-text {
  position: absolute !important;
  top: 3px !important;
  left: 1px !important;
  z-index: 5;
  display: grid !important;
  width: 44px;
  height: 42px;
  place-items: center;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-muted) !important;
}

.pm-auth-form .auth-input-icon svg {
  width: 20px !important;
  height: 20px !important;
}

.pm-auth-form .ps-5 {
  padding-left: 44px !important;
}

.pm-auth-form .input-group {
  position: relative;
  display: block;
  width: 100%;
}

.pm-auth-form .input-group .form-control {
  padding-right: 48px !important;
}

.pm-auth-form .input-password-toggle {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  z-index: 6;
  display: grid !important;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 0 !important;
  background: transparent !important;
  color: var(--pm-muted) !important;
  transform: translateY(-50%) !important;
}

.pm-auth-form .input-password-toggle svg {
  width: 18px !important;
  height: 18px !important;
}

.pm-auth-form .row.g-0.mb-3 {
  display: flex;
  align-items: center;
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-bottom: 16px !important;
}

.pm-auth-form .row.g-0.mb-3 > [class*="col-"] {
  padding: 0 !important;
}

.pm-auth-form .text-decoration-underline {
  color: var(--pm-blue) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-decoration: none !important;
}

.pm-auth-form .text-decoration-underline:hover {
  color: var(--pm-navy) !important;
}

.pm-auth-form .ps-checkbox {
  min-height: 22px;
}

.pm-auth-form .ps-checkbox .form-control {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  opacity: 0;
  box-shadow: none !important;
}

.pm-auth-form .ps-checkbox label {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding-left: 28px;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 18px !important;
}

.pm-auth-form .ps-checkbox label::before {
  top: 1px;
  width: 18px;
  height: 18px;
  border-color: var(--pm-border);
  border-radius: 6px;
  background: #ffffff;
}

.pm-auth-form .ps-checkbox label::after {
  top: 4px;
  left: 6px;
}

.pm-auth-form .ps-checkbox input[type=checkbox]:checked ~ label::before {
  border-color: var(--pm-blue);
  background: var(--pm-blue);
}

.pm-auth-submit {
  width: 100%;
  height: 46px;
  min-height: 46px;
  color: #ffffff !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25);
}

.pm-auth-submit:hover {
  color: #ffffff !important;
}

.pm-auth-form .d-grid {
  width: 100%;
}

.pm-auth-form .login-options {
  order: 20;
}

.pm-auth-form .login-options-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0 14px;
  padding: 0;
  border: 0;
}

.pm-auth-form .login-options-title::before,
.pm-auth-form .login-options-title::after {
  display: block;
  height: 1px;
  flex: 1 1 0;
  background: var(--pm-border);
  content: "";
}

.pm-auth-form .login-options-title p {
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

.pm-auth-form .login-options-title p::after {
  color: var(--pm-muted);
  content: "or";
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
}

.pm-auth-form .login-options .social-icons,
.pm-auth-form .login-options .social-login-basic {
  gap: 10px;
  margin: 0;
  padding: 0;
}

.pm-auth-form .login-options .social-icons.social-login-lg li,
.pm-auth-form .login-options .social-login-basic li {
  width: 100%;
}

.pm-auth-form .login-options .social-icons li > a,
.pm-auth-form .login-options .social-login-basic .social-login {
  display: inline-flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  border: 1px solid var(--pm-border) !important;
  border-radius: var(--pm-pill-radius) !important;
  background: #ffffff !important;
  color: var(--pm-blue) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 21px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pm-auth-form .login-options .social-icons li > a:hover,
.pm-auth-form .login-options .social-login-basic .social-login:hover {
  border-color: var(--pm-blue) !important;
  color: var(--pm-blue) !important;
  transform: translateY(-1px);
}

.pm-auth-form .login-options .social-icons li > a svg,
.pm-auth-form .login-options .social-login-basic .social-login img {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin-right: 0 !important;
}

.pm-auth-form .login-options .social-icons li > a.google span,
.pm-auth-form .login-options .social-login-basic .google-login span {
  font-size: 0 !important;
  line-height: 0 !important;
}

.pm-auth-form .login-options .social-icons li > a.google span::after,
.pm-auth-form .login-options .social-login-basic .google-login span::after {
  color: var(--pm-blue);
  content: "Continue with Google";
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
}

.pm-auth-form .mt-3.text-center {
  display: none !important;
}

.pm-auth-join {
  margin: 24px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 16px !important;
  text-align: center;
}

.pm-auth-join a {
  color: #64748b !important;
  font-weight: 700;
  text-decoration: none !important;
}

@media (max-width: 575px) {
  .pm-auth-shell.ck-container {
    max-width: 100% !important;
    padding: 117px 16px 56px !important;
  }

  .pm-auth-copy {
    margin-bottom: 22px;
  }

  .pm-auth-copy h1 {
    font-size: 30px !important;
    line-height: 36px !important;
  }

  .pm-auth-role-switch {
    gap: 7px;
    margin-bottom: 16px;
  }

  .pm-auth-role-switch__item {
    min-height: 60px;
    gap: 8px;
    padding: 8px;
    border-radius: 14px;
  }

  .pm-auth-role-switch__icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
  }

  .pm-auth-role-switch__icon svg {
    width: 16px;
    height: 16px;
  }

  .pm-auth-role-switch__copy strong {
    font-size: 12px;
    line-height: 16px;
  }

  .pm-auth-role-switch__copy small {
    font-size: 10px;
    line-height: 14px;
  }

  .pm-auth-form .row.g-0.mb-3 {
    gap: 0;
  }

  .pm-auth-form .row.g-0.mb-3 > .col-6 {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
  }
}

/* Donation product detail: Vercel campaign layout. */
#product-page .pm-donation-detail {
  width: min(1280px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 24px 112px !important;
  color: var(--pm-ink) !important;
  font-family: var(--pm-font-sans) !important;
}

#product-page .pm-donation-detail *,
#product-page .pm-donation-detail *::before,
#product-page .pm-donation-detail *::after {
  box-sizing: border-box;
  letter-spacing: 0 !important;
}

#product-page .pm-donation-detail__hero,
#product-page .pm-donation-addons,
#product-page .pm-donation-related,
#product-page .pm-donation-campaigns {
  width: 100% !important;
  margin: 0 auto !important;
}

#product-page .pm-donation-detail__hero {
  padding: 0 0 16px !important;
}

#product-page .pm-donation-detail__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
}

#product-page .pm-donation-detail__left {
  display: grid !important;
  gap: 16px !important;
  min-width: 0 !important;
}

#product-page .pm-donation-detail__media-card,
#product-page .pm-donation-detail__facts article,
#product-page .pm-donation-detail__panel,
#product-page .pm-donation-product-card,
#product-page .pm-donation-campaigns__grid article {
  overflow: hidden !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: var(--pm-card-shadow) !important;
}

#product-page .pm-donation-detail__image {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: var(--pm-soft) !important;
}

#product-page .pm-donation-detail__image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(11, 52, 84, 0.2), rgba(11, 52, 84, 0)) !important;
  pointer-events: none !important;
}

#product-page .pm-donation-detail__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#product-page .pm-donation-detail__intro {
  padding: 24px 28px 28px !important;
}

#product-page .pm-donation-detail__intro h2,
#product-page .pm-donation-related h2,
#product-page .pm-donation-campaigns h2 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

#product-page .pm-donation-detail__intro p,
#product-page .pm-donation-related > p,
#product-page .pm-donation-campaigns > p,
#product-page .pm-donation-form__summary {
  margin: 8px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

#product-page .pm-donation-detail__facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

#product-page .pm-donation-detail__facts article {
  min-height: 108px !important;
  padding: 20px !important;
}

#product-page .pm-donation-detail__facts span,
#product-page .pm-donation-platform article span,
#product-page .pm-donation-addons__items small,
#product-page .pm-donation-campaigns__grid article > span {
  display: block !important;
  color: var(--pm-muted) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

#product-page .pm-donation-detail__facts strong {
  display: block !important;
  margin-top: 8px !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#product-page .pm-donation-detail__panel {
  position: sticky !important;
  top: 96px !important;
  padding: 28px !important;
}

#product-page .pm-donation-form {
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
}

#product-page .pm-donation-form > .pm-label {
  width: fit-content !important;
  margin: 0 !important;
  background: var(--pm-soft) !important;
  color: var(--pm-blue) !important;
}

#product-page .pm-donation-form h1 {
  margin: 10px 0 0 !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}

#product-page .pm-donation-gift-box {
  margin-top: 22px !important;
  padding: 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 20px !important;
  background: rgba(238, 248, 251, 0.72) !important;
}

#product-page .pm-donation-gift-box > p,
#product-page .pm-donation-platform h3 {
  margin: 0 !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

#product-page .pm-donation-amounts {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

#product-page .pm-donation-amount,
#product-page .pm-donation-custom {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 8px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: var(--pm-navy) !important;
  font-family: var(--pm-font-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}

#product-page .pm-donation-amount:hover,
#product-page .pm-donation-amount.is-active {
  border-color: var(--pm-blue) !important;
  background: var(--pm-blue) !important;
  color: #ffffff !important;
}

#product-page .pm-donation-custom {
  flex: 2.45 1 150px !important;
  margin-top: 0 !important;
  justify-content: flex-start !important;
  padding-right: 14px !important;
  padding-left: 14px !important;
  text-align: left !important;
}

#product-page .pm-donation-custom.is-active,
#product-page .pm-donation-custom:focus {
  border-color: var(--pm-blue) !important;
  box-shadow: 0 0 0 3px rgba(69, 177, 225, 0.18) !important;
  outline: 0 !important;
}

#product-page .pm-donation-submit {
  width: 100% !important;
  min-height: 44px !important;
  margin-top: 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 30px rgba(5, 126, 162, 0.25) !important;
}

#product-page .pm-donation-platform {
  margin-top: 16px !important;
  padding: 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
}

#product-page .pm-donation-platform > p {
  margin: 6px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

#product-page .pm-donation-platform > div {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

#product-page .pm-donation-platform article {
  min-width: 0 !important;
  padding: 10px 8px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 12px !important;
  background: rgba(238, 248, 251, 0.72) !important;
  text-align: center !important;
}

#product-page .pm-donation-platform article strong {
  display: block !important;
  overflow: hidden !important;
  margin-top: 5px !important;
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#product-page .pm-donation-addons {
  padding: 16px 0 !important;
}

#product-page .pm-donation-addons__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: 32px !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, var(--pm-navy), var(--pm-blue)) !important;
  color: #ffffff !important;
}

#product-page .pm-donation-addons__inner > div > span {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 24px !important;
  align-items: center !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

#product-page .pm-donation-addons h2 {
  margin: 12px 0 0 !important;
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

#product-page .pm-donation-addons p {
  max-width: 610px !important;
  margin: 6px 0 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

#product-page .pm-donation-addons__items {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

#product-page .pm-donation-addons__items article {
  min-width: 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.10) !important;
}

#product-page .pm-donation-addons__items small {
  color: rgba(255, 255, 255, 0.7) !important;
}

#product-page .pm-donation-addons__items strong,
#product-page .pm-donation-addons__items em {
  display: block !important;
  overflow: hidden !important;
  color: #ffffff !important;
  font-style: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#product-page .pm-donation-addons__items strong {
  margin-top: 5px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#product-page .pm-donation-addons__items em {
  margin-top: 3px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 12px !important;
}

#product-page .pm-donation-addons__button,
#product-page .pm-donation-preview-bar a,
#product-page .pm-donation-product-card__add,
#product-page .pm-donation-campaigns__grid a {
  display: inline-flex !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#product-page .pm-donation-addons__button {
  background: #ffffff !important;
  color: var(--pm-blue) !important;
}

#product-page .pm-donation-related,
#product-page .pm-donation-campaigns {
  padding: 16px 0 !important;
}

#product-page .pm-donation-related__grid,
#product-page .pm-donation-campaigns__grid {
  display: grid !important;
  gap: 16px !important;
  margin-top: 20px !important;
}

#product-page .pm-donation-related__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#product-page .pm-donation-product-card {
  display: flex !important;
  min-width: 0 !important;
  min-height: 100% !important;
  flex-direction: column !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

#product-page .pm-donation-product-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--pm-soft-shadow) !important;
}

#product-page .pm-donation-product-card__image {
  display: grid !important;
  aspect-ratio: 4 / 3 !important;
  place-items: center !important;
  overflow: hidden !important;
  background: var(--pm-soft) !important;
}

#product-page .pm-donation-product-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 12px !important;
}

#product-page .pm-donation-product-card > div {
  display: grid !important;
  gap: 6px !important;
  padding: 16px 16px 0 !important;
}

#product-page .pm-donation-product-card h3 {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#product-page .pm-donation-product-card h3 a {
  color: var(--pm-navy) !important;
  text-decoration: none !important;
}

#product-page .pm-donation-product-card h3 a:hover {
  color: var(--pm-blue) !important;
}

#product-page .pm-donation-product-card p {
  margin: 0 !important;
  color: var(--pm-muted) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

#product-page .pm-donation-product-card footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding: 14px 16px 16px !important;
}

#product-page .pm-donation-product-card footer strong {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#product-page .pm-donation-product-card__add,
#product-page .pm-donation-campaigns__grid a {
  min-height: 34px !important;
  padding: 9px 16px !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

#product-page .pm-donation-campaigns__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#product-page .pm-donation-campaigns__grid article {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  padding: 18px !important;
}

#product-page .pm-donation-campaigns__grid h3 {
  margin: 8px 0 0 !important;
  color: var(--pm-navy) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#product-page .pm-donation-campaigns__grid p {
  margin: 8px 0 0 !important;
  color: var(--pm-muted) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

#product-page .pm-donation-campaigns__grid footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: auto !important;
  padding-top: 18px !important;
}

#product-page .pm-donation-campaigns__grid footer strong {
  color: var(--pm-navy) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

#product-page .pm-donation-preview-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 16px auto 0 !important;
  padding: 16px !important;
  border: 1px solid var(--pm-border) !important;
  border-radius: 16px !important;
  background: rgba(238, 248, 251, 0.5) !important;
}

#product-page .pm-donation-preview-bar span {
  overflow: hidden !important;
  color: var(--pm-navy) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#product-page .pm-donation-preview-bar a {
  flex: 0 0 auto !important;
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
  color: #ffffff !important;
}

@media (max-width: 1199px) {
  #product-page .pm-donation-related__grid,
  #product-page .pm-donation-campaigns__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  #product-page .pm-donation-detail {
    padding: 0 16px 112px !important;
  }

  #product-page .pm-donation-detail__grid {
    grid-template-columns: 1fr !important;
  }

  #product-page .pm-donation-detail__panel {
    position: static !important;
  }

  #product-page .pm-donation-addons__inner {
    grid-template-columns: 1fr !important;
  }

  #product-page .pm-donation-addons__button {
    width: fit-content !important;
  }
}

@media (max-width: 575px) {
  #product-page .pm-donation-detail {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  #product-page .pm-donation-detail__intro,
  #product-page .pm-donation-detail__panel,
  #product-page .pm-donation-addons__inner {
    padding: 20px !important;
  }

  #product-page .pm-donation-detail__facts,
  #product-page .pm-donation-platform > div,
  #product-page .pm-donation-addons__items,
  #product-page .pm-donation-related__grid,
  #product-page .pm-donation-campaigns__grid {
    grid-template-columns: 1fr !important;
  }

  #product-page .pm-donation-amounts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #product-page .pm-donation-custom {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  #product-page .pm-donation-form h1 {
    font-size: 26px !important;
  }

  #product-page .pm-donation-preview-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    border-radius: 16px !important;
  }

  #product-page .pm-donation-preview-bar span {
    white-space: normal !important;
  }

  #product-page .pm-donation-preview-bar a {
    width: 100% !important;
  }
}

/* Product detail breadcrumb spacing: keep the same visual gap with or without the admin bar. */
body#product-page .ps-breadcrumb,
body#product-page.show-admin-bar .ps-breadcrumb {
  padding: 12px 0 !important;
  margin-top: 0 !important;
  border-top: 0 !important;
}

body#product-page .ps-breadcrumb .pm-product-breadcrumb {
  line-height: 16px !important;
}

body#product-page .pm-site-header.header.header--1,
body#product-page .pm-site-header.header.header--1.header--sticky,
body#product-page .header--mobile,
body#product-page .header--mobile.header--sticky {
  position: sticky !important;
  right: auto !important;
  left: auto !important;
}

body#product-page > .ck-content,
body#product-page.show-admin-bar > .ck-content {
  padding-top: 0 !important;
}

body#product-page .ps-page--product,
body#product-page .pm-donation-detail {
  padding-top: 0 !important;
}

@media (max-width: 991px) {
  body#product-page > .ck-content,
  body#product-page.show-admin-bar > .ck-content {
    padding-top: 0 !important;
  }

  body#product-page .ps-breadcrumb,
  body#product-page.show-admin-bar .ps-breadcrumb {
    margin-top: 0 !important;
  }
}
