/**
 * Shop entrance only. Native blocks reuse the homepage width and PM dividers.
 */
body.pm-shop-landing-page .container.content-wrapper { width: 100%; max-width: none; margin: 0; padding: 0; }
body.pm-shop-landing-page .main-row { display: block; margin: 0; }
body.pm-shop-landing-page #primary.pm-shop-landing { width: 100%; max-width: none; margin: 0; padding: 0; float: none; min-width: 0; }
#primary.pm-shop-landing > :not(.alignfull), .pm-shop-section { box-sizing: border-box; width: calc(100% - 64px); max-width: 1440px; margin-left: auto; margin-right: auto; }
#primary.pm-shop-landing > .alignfull { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
#primary.pm-shop-landing > * { margin-top: 0; margin-bottom: 0; }
.pm-shop-landing { color: var(--pm-white); }
.pm-shop-section { padding: 58px 0; color: var(--pm-white); }
.pm-shop-hero { container-type: inline-size; }
.pm-shop-hero.pm-hero-pattern--text-first .pm-hero-pattern__content { padding-left: max(32px, calc((100cqw - 1440px) / 2)); padding-top: 44px; padding-bottom: 44px; }
.pm-shop-hero .pm-hero-pattern__title { font-size: clamp(38px,4vw,60px); }
.pm-shop-hero .pm-hero-pattern__text { font-size: 18px; }
/* Crop the image within its column; the text determines the desktop height. */
@media (min-width: 782px) {
  .pm-shop-landing > .pm-hero-pattern .pm-hero-pattern__image { position: absolute; inset: 0; }
}
.pm-shop-landing h2 { color: var(--pm-white); }
.pm-shop-category-section { padding-top: 42px; padding-bottom: 24px; scroll-margin-top: 140px; }
.pm-shop-category-section > h2 { margin: 0 0 24px; font-size: clamp(26px,2.7vw,38px); line-height: 1.18; }
.pm-shop-categories { left: auto; width: 100%; max-width: none; margin: 0; padding: 0; overflow: visible; }
.pm-shop-categories .pm-category-grid-section__inner { width: 100%; max-width: none; padding: 0; }
.pm-shop-categories .pm-category-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.pm-shop-categories .pm-category-card { height: 180px; }
.pm-shop-categories .pm-category-card__content { padding: 18px; }
.pm-shop-categories .pm-category-card__title { font-size: 23px; overflow-wrap: anywhere; hyphens: auto; }
.pm-shop-categories .pm-category-card__media::before { width: 42px; }
.pm-shop-quicklinks { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 20px 0 0; }
.pm-shop-quicklinks a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pm-yellow); text-decoration: none; font-size: 14px; }
.pm-shop-quicklinks a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pm-shop-landing .pm-commerce-section { margin-top: 0; margin-bottom: 0; }
.pm-shop-landing .pm-commerce-heading h2 { font-size: clamp(26px,2.7vw,38px); line-height: 1.18; }
.pm-shop-band { margin: 0; }
.pm-shop-grey-band { background: var(--pm-grey-dark); margin: 0; }
.pm-shop-grey-band > .pm-shop-section { padding-top: 30px; padding-bottom: 30px; margin-top: 0; margin-bottom: 0; }
.pm-jagged-section.pm-shop-band > .wp-block-separator { height: 65px; width: 100%; max-width: 100%; left: auto; margin-left: 0; margin-right: 0; transform: none; }
.pm-shop-pokemon .pm-pokemon-featured { width: 100%; max-width: 100%; margin: 0; padding: 0; left: auto; background: transparent; }
.pm-shop-pokemon .pm-pokemon-featured__inner { width: 100%; max-width: none; padding: 0; }
.pm-shop-pokemon .pm-pokemon-featured__header { margin-bottom: 28px; }
.pm-shop-pokemon .pm-pokemon-featured__title { font-size: clamp(28px,2.7vw,38px); }
.pm-shop-pokemon .pm-pokemon-featured__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.pm-shop-pokemon .pm-pokemon-card__media { height: 160px; min-height: 0; aspect-ratio: auto; }
.pm-shop-pokemon .pm-pokemon-card__media img { max-height: 140px; width: auto; max-width: 100%; object-fit: contain; }
.pm-shop-pokemon > .wp-block-buttons { justify-content: center; margin-top: 28px; }
.pm-shop-guide-section { padding-top: 0; }
.pm-shop-guide-section > .pm-shop-guide { width: 100%; max-width: none; margin: 0; }
.pm-shop-guide .wp-block-buttons { margin-top: 20px; }
.pm-shop-bottom { padding-top: 48px; padding-bottom: 64px; }
.pm-shop-bottom .content-section { margin: 60px 0 0; padding: 0; background: transparent; }
.pm-shop-bottom > .content-section:first-child { margin-top: 0; }
.pm-shop-bottom .container { width: 100%; max-width: none; padding: 0; margin: 0; }
.pm-shop-bottom .row { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 40px; margin: 0; }
.pm-shop-bottom .row > div { grid-column: auto; grid-row: auto; min-width: 0; width: 100%; max-width: none; padding: 0; margin: 0; align-self: start; }
.pm-shop-bottom .img-box { margin: 0; }
.pm-shop-bottom .wp-block-image { margin: 0; }
.pm-shop-bottom .pm-shop-icon img { max-width: 24px; width: auto; height: auto; }
.pm-shop-bottom .img-box img { display: block; width: 100%; height: auto; border-radius: 10px; }
.pm-shop-bottom .text-block { max-width: none !important; }
.pm-shop-bottom h2 { margin: 0 0 24px; font-size: clamp(26px,3vw,34px); line-height: 1.18; text-transform: none !important; }
.pm-shop-bottom p { margin: 0 0 18px; color: var(--pm-text-light); line-height: 1.7; }
.pm-shop-bottom .list-w-icon { margin: 24px 0 0; }
.pm-shop-bottom .list-w-icon .item { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 14px; margin: 0 0 16px; }
.pm-shop-bottom .list-w-icon .img { display: flex; justify-content: center; padding-top: 5px; }
.pm-shop-bottom .list-w-icon .img-icon { object-fit: contain; max-width: 24px; height: auto; align-self: start; }
.pm-shop-bottom .list-w-icon .content p { margin: 0; }
.pm-shop-bottom .flex-lg-row-reverse > div:first-child { order: 2; }
.pm-shop-bottom .flex-lg-row-reverse > div:last-child { order: 1; }
.pm-shop-landing :is(a,button):focus-visible { outline: 2px solid var(--pm-yellow); outline-offset: 3px; }
@media(max-width: 1199px) {
  .pm-shop-categories .pm-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 781px) {
  .pm-shop-pokemon .pm-pokemon-featured__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .pm-shop-pokemon .pm-pokemon-card__media { height: 130px; }
  .pm-shop-pokemon .pm-pokemon-card__media img { max-height: 110px; }
  .pm-shop-bottom .row { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .pm-shop-bottom .row > div:first-child { order: 2; }
  .pm-shop-bottom .row > div:last-child { order: 1; }
  .pm-shop-bottom .content-section { margin-top: 40px; }
  .pm-shop-bottom .img-box img { max-width: 420px; margin: 0 auto; }
}
@media(max-width: 575px) {
  #primary.pm-shop-landing > :not(.alignfull), .pm-shop-section { width: calc(100% - 32px); }
  .pm-shop-section { padding-top: 34px; padding-bottom: 34px; }
  .pm-shop-category-section { padding-bottom: 12px; }
  .pm-shop-categories .pm-category-grid { grid-template-columns: 1fr; gap: 12px; }
  .pm-shop-categories .pm-category-card { height: 130px; grid-template-columns: 52% 48%; }
  .pm-shop-categories .pm-category-card__title { font-size: 21px; }
  .pm-shop-hero.pm-hero-pattern--text-first .pm-hero-pattern__content { padding: 26px 16px 18px; }
  .pm-shop-hero .pm-hero-pattern__title { font-size: 36px; }
  .pm-shop-hero .pm-hero-pattern__text { font-size: 16px; line-height: 1.5; }
  .pm-shop-hero .pm-hero-pattern__image, .pm-shop-hero .pm-hero-pattern__image img { height: 170px; min-height: 0; }
  .pm-jagged-section.pm-shop-band > .wp-block-separator { height: 38px; }
  .pm-shop-grey-band > .pm-shop-section { padding-top: 22px; padding-bottom: 22px; }
  .pm-shop-guide-section { padding-top: 0; }
  .pm-shop-landing .pm-commerce-heading { flex-wrap: wrap; }
}

