/* PFAHL 0.13.36 — audited states, not a conformance overlay. */
body.pc-store-v4 {
  --pc-a11y-border: #69776e;
  --pc-rating-color: var(--pf-green-dark, #347447);
}

/* Two-tone focus remains visible on both the ink buttons and pale surfaces. */
body.pc-store-v4 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #11183d !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
body.pc-store-v4 main :is(a, button, input, select, textarea, summary, [tabindex]) {
  scroll-margin-block: 100px 24px;
}

/* Solid control boundaries exceed 3:1 on white and mint. Keep native controls. */
body.pc-store-v4 main :is(input:not([type]), input[type="text"], input[type="email"],
input[type="tel"], input[type="password"], input[type="search"], input[type="number"],
input[type="url"], input[type="date"], textarea, select):not(:disabled) {
  border: 1px solid var(--pc-a11y-border) !important;
  color: #11183d;
  background-color: #fff;
  font-size: max(1rem, 16px);
  min-height: 44px;
}
body.pc-store-v4 main .select2-container .select2-selection {
  border-color: var(--pc-a11y-border) !important;
  min-height: 44px;
}
body.pc-store-v4 main :is(input, textarea)::placeholder { color: #52617b; opacity: 1; }
body.pc-store-v4 main :is(input, textarea, select)[aria-invalid="true"],
body.pc-store-v4 main .woocommerce-invalid :is(input, select, textarea) {
  border-color: #a32626 !important;
  border-width: 2px !important;
}
body.pc-store-v4 main input:is([type="checkbox"], [type="radio"]) {
  width: 20px; height: 20px; min-width: 20px; flex-shrink: 0;
  accent-color: #347447; vertical-align: middle;
}
body.pc-store-v4 .pfahl-contact-form label > span[aria-hidden="true"] { display: inline; }
body.pc-store-v4 .pc-price-input { border-color: var(--pc-a11y-border); overflow: visible; }
body.pc-store-v4 main .pc-price-input input { border: 0 !important; border-radius: 12px; }
body.pc-store-v4 .pc-price-input:focus-within { outline: 3px solid #11183d; outline-offset: 3px; }

/* Active category + count, also on the static collections. */
body.pc-store-v4 .pc-filter-category-links a.is-active {
  color: #fff; background: #347447; border-color: #347447;
}
body.pc-store-v4 .pc-filter-category-links a.is-active small { color: #11183d; background: #fff; }
body.pc-store-v4 .pc-filter-form__footer button { background: #347447; color: #fff; }
/* One brand token for cards, native WooCommerce ratings, filters, reviews and account.
   Override legacy important gold declarations without changing decorative yellow.
   Native unfilled tracks stay neutral; actual values, clipping and glyphs stay intact. */
body.pc-store-v4 :is(.star-rating, .pc-card-rating, .pc-card-rating__stars,
  .pc-review-stars, .pc-filter-stars, .reviews__stars, .rating-row > span,
  #review_form p.stars, #review_form p.stars a, .pc-account-review-list .fa-star),
body.pc-store-v4 :is(.pc-card-rating__stars, .pc-review-stars, .reviews__stars) i,
body.pc-store-v4 .star-rating span::before,
body.pc-store-v4 #review_form p.stars a::before,
body.pc-store-v4.single-product #review_form .comment-form-rating .stars a,
body.pc-store-v4.single-product #review_form .comment-form-rating .stars a::before {
  color: var(--pc-rating-color) !important;
}
body.pc-store-v4 .star-rating::before,
body.pc-store-v4 .pc-filter-stars em {
  color: #69776e !important;
}

/* Actual prose links, not card-sized links, menus or call-to-action buttons. */
body.pc-store-v4 main :is(.pc-content, .entry-content, .pc-pdp-content) :is(p, li, td) a:not(.button):not(.pc-button):not(.woocommerce-loop-product__link):not(.add_to_cart_button),
body.pc-store-v4 main :is(.pfahl-contact-form, .pc-withdrawal__form, .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) a,
body.pc-store-v4 .pc-filter-form__footer a {
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  text-decoration-skip-ink: auto;
}

/* Keep the AI disclosure readable, outside the photo instead of over faces. */
body.pc-store-v4 .pc-about-hero__image figcaption {
  position: static; margin: 0; padding: 10px 14px; max-width: 100%;
  border-radius: 0; color: #11183d; background: #fff; backdrop-filter: none;
  font-size: .875rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
}
body.pc-store-v4 .pc-about-values article:nth-child(2) > span { color: #fff; }
body.pc-store-v4 .home-story__image > small {
  position: static; display: block; width: auto; max-width: 100%;
  margin: 0; padding: 10px 14px; border-radius: 0;
  color: #11183d; background: #fff; font-size: .875rem; line-height: 1.5;
  white-space: normal; overflow-wrap: anywhere;
}
/* Compact, explicit sorting: the action explains itself without an extra sentence. */
body.pc-store-v4.pc-catalogue-page .pc-shop-main .woocommerce-ordering {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  width: min(100%, 360px); max-width: 360px; min-width: 0;
}
body.pc-store-v4.pc-catalogue-page .woocommerce-ordering > label { flex-basis: 100%; }
body.pc-store-v4.pc-catalogue-page .pc-shop-main .woocommerce-ordering select {
  flex: 1 1 140px; width: 0; min-width: 0; max-width: 100%; margin: 0;
}
body.pc-store-v4 .pc-shop-main .woocommerce-ordering .pc-sort-submit {
  flex: 0 0 auto; min-height: 46px; padding: 10px 14px; margin: 0;
  border: 1px solid #11183d; border-radius: 12px;
  background: #11183d; color: #fff; font: inherit; font-size: 14px;
  font-weight: 700; line-height: 1.5; cursor: pointer;
}
body.pc-store-v4 .pc-shop-main .pc-catalogue-price-note {
  margin: 20px 0 24px; align-items: flex-start; font-size: 14px; line-height: 1.6;
}
@media (min-width: 1024px) {
  body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .pc-catalogue-price-note {
    grid-column: 2; grid-row: 6;
  }
  body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .pc-category-description {
    grid-row: 7;
  }
}
body.pc-store-v4 .pc-filter-selection-help { margin: 12px 0; color: #52617b; font-size: .875rem; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.pc-store-v4 *, body.pc-store-v4 *::before, body.pc-store-v4 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
@media (forced-colors: active) {
  body.pc-store-v4 :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline-color: Highlight !important; box-shadow: none !important;
  }
  body.pc-store-v4 main :is(input, select, textarea),
  body.pc-store-v4 main .select2-container .select2-selection,
  body.pc-store-v4 .pc-price-input { border-color: ButtonText !important; }
  body.pc-store-v4 .pc-filter-category-links a.is-active { outline: 2px solid Highlight; outline-offset: -3px; }
}
