/* Shop pagination only. Divi uses !important for pagination typography and borders; the equally scoped overrides below preserve contrast and touch targets. */
body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 24px 0 8px;
  border: 0 !important;
  border-top: 1px solid #e7e2dc;
  text-align: center;
  box-sizing: border-box;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > * {
  float: none;
  margin: 0;
  box-sizing: border-box;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > a,
body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid #ded8cf !important;
  border-radius: 8px;
  background: #fff;
  color: #26231f !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.4;
  text-decoration: none;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .current {
  border-color: #26231f !important;
  background: #26231f;
  color: #fff !important;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > a:hover {
  border-color: #8b7961 !important;
  background: #f5f1eb;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > a:focus-visible {
  outline: 2px solid #8b6542;
  outline-offset: 3px;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .pages {
  flex: 0 0 100%;
  min-height: 0;
  padding: 0 0 8px;
  border: 0 !important;
  background: transparent;
  color: #696158 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5;
}

body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .extend {
  min-width: 12px;
  padding: 0;
  border: 0 !important;
  color: #696158 !important;
}

/* WP-PageNavi can output a second ellipsis immediately before Next. */
body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .extend:has(+ .nextpostslink) {
  display: none;
}

@media (max-width: 767px) {
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px 8px;
    padding-top: 20px;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .pages {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-bottom: 0;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.first, .last) {
    display: none;
  }

  /* Five touch-sized page buttons per row below the direction buttons. */
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.page, .current, .extend) {
    grid-column: span 2;
    min-width: 0;
    min-height: 44px;
    padding: 8px 4px;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.previouspostslink, .nextpostslink) {
    grid-row: 2;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 12px 8px;
    font-size: 22px !important;
    text-align: center;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .previouspostslink {
    grid-column: 1 / 6;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .nextpostslink {
    grid-column: 6 / -1;
    border-color: #26231f !important;
    background: #26231f;
    color: #fff !important;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > .nextpostslink:hover {
    border-color: #443a30 !important;
    background: #443a30;
  }

  /* Reuse the existing accessible label; leave the original link and URL intact.
     If a label is absent, the original arrow remains visible as a fallback. */
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.previouspostslink, .nextpostslink)[aria-label]:not([aria-label=""]) {
    font-size: 0 !important;
  }

  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.previouspostslink, .nextpostslink)[aria-label]:not([aria-label=""])::after {
    content: attr(aria-label);
    font-size: clamp(12px, 3.5vw, 13px) !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  /* On the first/last page the only available direction spans the full row. */
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi:not(:has(> .previouspostslink)) > .nextpostslink,
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi:not(:has(> .nextpostslink)) > .previouspostslink {
    grid-column: 1 / -1;
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  body.woocommerce-shop #et-boc .et-l .et_pb_posts_nav.wp-pagenavi-wrapper .wp-pagenavi > :is(.page, .current, .extend) {
    grid-column: span 1;
  }
}
