/* =========================================================
   DNA Pharma - WooCommerce Shop
   Product archive and catalog components
   ========================================================= */

/* ===== Product ordering ===== */

.brxe-woocommerce-products-orderby {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  color: var(--text--main);
}

.brxe-woocommerce-products-orderby .woocommerce-ordering {
  width: min(100%, 340px);
  margin: 0;
}

.brxe-woocommerce-products-orderby select.orderby {
  width: 100%;
  min-height: 48px;
  padding: 0 44px 0 14px;

  background-color: var(--field--bg);
  color: var(--field--text);
  border: 1px solid var(--field--border);
  border-radius: 10px;
  box-shadow: none;

  font: inherit;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--brand--primary) 50%),
    linear-gradient(135deg, var(--brand--primary) 50%, transparent 50%);
  background-position:
    calc(100% - 22px) 50%,
    calc(100% - 16px) 50%;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;

  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    color 180ms ease;
}

.brxe-woocommerce-products-orderby select.orderby:hover {
  border-color: var(--border--strong);
}

.brxe-woocommerce-products-orderby select.orderby:focus,
.brxe-woocommerce-products-orderby select.orderby:focus-visible {
  outline: none;
  border-color: var(--field--border-focus);
  box-shadow: 0 0 0 4px rgba(43, 200, 198, 0.28);
}

.brxe-woocommerce-products-orderby select.orderby:disabled {
  background-color: var(--bg--subtle);
  color: var(--text--muted);
  cursor: not-allowed;
}

@media (max-width: 767px) {
  .brxe-woocommerce-products-orderby {
    justify-content: stretch;
  }

  .brxe-woocommerce-products-orderby .woocommerce-ordering {
    width: 100%;
  }
}

/* ===== Product pagination ===== */

.brxe-woocommerce-products-pagination {
  width: 100%;
  margin-top: clamp(24px, 4vw, 44px);
  color: var(--text--main);
}

.brxe-woocommerce-products-pagination .woocommerce-pagination {
  display: flex;
  justify-content: center;
}

.brxe-woocommerce-products-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.brxe-woocommerce-products-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
}

.brxe-woocommerce-products-pagination a.page-numbers,
.brxe-woocommerce-products-pagination span.page-numbers {
  min-width: 42px;
  min-height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: var(--btn--secondary-bg);
  color: var(--btn--secondary-text);
  border: 1px solid var(--btn--secondary-border);
  border-radius: 999px;

  font-weight: 700;
  line-height: 1;
  text-decoration: none;

  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.brxe-woocommerce-products-pagination a.page-numbers:hover {
  background: var(--btn--secondary-hover-bg);
  color: var(--text--link-hover);
  border-color: var(--border--strong);
  transform: translateY(-1px);
}

.brxe-woocommerce-products-pagination span.page-numbers.current {
  background: var(--btn--primary-bg);
  color: var(--btn--primary-text);
  border-color: transparent;
  box-shadow: var(--btn--shadow);
  cursor: default;
}

.brxe-woocommerce-products-pagination .next.page-numbers,
.brxe-woocommerce-products-pagination .prev.page-numbers {
  min-width: 48px;
  font-size: 1.1rem;
}

.brxe-woocommerce-products-pagination a.page-numbers:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(43, 200, 198, 0.28);
}

@media (max-width: 767px) {
  .brxe-woocommerce-products-pagination {
    margin-top: 28px;
  }

  .brxe-woocommerce-products-pagination ul.page-numbers {
    gap: 8px;
  }

  .brxe-woocommerce-products-pagination a.page-numbers,
  .brxe-woocommerce-products-pagination span.page-numbers {
    min-width: 40px;
    min-height: 40px;
    padding: 0 12px;
  }
}


/* =========================================================
   DNA Pharma – WooCommerce Notices
   .woocommerce-error / .woocommerce-message / .woocommerce-info
   ========================================================= */

.woocommerce-notices-wrapper {
  display: grid;
  gap: 14px;
  margin-bottom: 22px;
}

.woocommerce-notices-wrapper:empty {
  display: none;
}

/* společný základ */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  position: relative;
  margin: 0;
  padding: 16px 18px 16px 18px;
  list-style: none;
  border: 1px solid transparent;
  border-radius: 14px;
  box-shadow: var(--card--shadow);
  line-height: 1.55;
  overflow: hidden;
}

/* levý akcent */
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  border-radius: 14px 0 0 14px;
}

/* ===== ERROR ===== */

.woocommerce-error {
  background: var(--notice--error-bg);
  color: var(--notice--error-text);
  border-color: color-mix(in srgb, var(--notice--error-text) 18%, transparent);
}

.woocommerce-error::before {
  background: var(--notice--error-text);
}

.woocommerce-error li {
  margin: 0;
  padding: 0;
}

.woocommerce-error li + li {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid color-mix(in srgb, var(--notice--error-text) 14%, transparent);
}

.woocommerce-error strong {
  color: var(--notice--error-text);
}

/* ===== SUCCESS ===== */

.woocommerce-message {
  background: var(--notice--success-bg);
  color: var(--notice--success-text);
  border-color: color-mix(in srgb, var(--notice--success-text) 18%, transparent);
}

.woocommerce-message::before {
  background: var(--notice--success-text);
}

/* ===== INFO ===== */

.woocommerce-info {
  background: var(--notice--info-bg);
  color: var(--notice--info-text);
  border-color: color-mix(in srgb, var(--notice--info-text) 18%, transparent);
}

.woocommerce-info::before {
  background: var(--notice--info-text);
}

/* ===== odkazy uvnitř hlášek ===== */

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button) {
  /*color: inherit;*/
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 180ms ease;
}

.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover {
  opacity: 0.82;
}

/* ===== tlačítka uvnitř notices ===== */

.woocommerce-error .button,
.woocommerce-error a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .wc-forward,
.woocommerce-message .wc-forward,
.woocommerce-info .wc-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  margin-left: 10px;

  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.2rem;

  transition: all 180ms ease;
  vertical-align: middle;
}

/* button v error */
.woocommerce-error .button,
.woocommerce-error a:not(.button),
.woocommerce-error .wc-forward {
  background: var(--notice--error-text);
  color: var(--color-white, #fff);
}

.woocommerce-error .button:hover,
.woocommerce-error a:not(.button):hover,
.woocommerce-error .wc-forward:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* button v success */
.woocommerce-message .button,
.woocommerce-message .wc-forward {
  background: var(--notice--success-text);
  color: var(--color-white, #fff);
}

.woocommerce-message .button:hover,
.woocommerce-message .wc-forward:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* button v info */
.woocommerce-info .button,
.woocommerce-info .wc-forward {
  background: var(--notice--info-text);
  color: var(--color-white, #fff);
}

.woocommerce-info .button:hover,
.woocommerce-info .wc-forward:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

/* focus */
.woocommerce-error .button:focus-visible,
.woocommerce-message .button:focus-visible,
.woocommerce-info .button:focus-visible,
.woocommerce-error a:focus-visible,
.woocommerce-message a:focus-visible,
.woocommerce-info a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(43, 200, 198, 0.28);
  border-radius: 999px;
}

/* ===== spacing pro inline message ===== */

.woocommerce-message,
.woocommerce-info {
  display: block;
}

.woocommerce-message .button,
.woocommerce-message .wc-forward,
.woocommerce-info .button,
.woocommerce-info .wc-forward {
  float: right;
  margin: 0 0 10px 14px;
}

/* reset float na menších displejích */
@media (max-width: 767px) {
  .woocommerce-error,
  .woocommerce-message,
  .woocommerce-info {
    padding: 14px 16px;
  }

  .woocommerce-message .button,
  .woocommerce-message .wc-forward,
  .woocommerce-info .button,
    .woocommerce-info .wc-forward,
    .woocommerce-error .button,
    .woocommerce-error a:not(.button),
    .woocommerce-error .wc-forward {
    float: none;
    display: inline-flex;
    width: 100%;
    margin: 12px 0 0;
  }
}
