/*
 Theme Name:   Frodig Child
 Theme URI:    https://frodig.nu
 Description:  A child theme for Frodig Webshop
 Author:       Soulstyle
 Author URI:   https://soulstyle.se
 Template:     twentytwentyfour
 Version:      1.1.10
 Text Domain:  frodig-child
*/

/**
 * Smooth in-page anchor navigation. On-load hashes are handled in
 * assets/js/anchor-scroll.js (browsers still jump instantly without JS).
 */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

:where(.wp-site-blocks *:focus) {
  outline-width: 2px;
  outline-style: solid;
  outline-color: currentColor;
}

.wp-site-blocks > * + * {
  margin-block-start: 0;
}

/**
 * Post content heading rhythm: mobile-first 1.5rem lives in theme.json;
 * bump to 2rem from the WP/Kadence 782px breakpoint (mirrors
 * single-product.css for .wc-block-product-description).
 */
@media (min-width: 782px) {
  .wp-block-post-content h2,
  .wp-block-post-content h3,
  .wp-block-post-content h4 {
    margin-block-start: 2rem;
  }

  .wp-block-post-content :first-child {
    margin-block-start: 0;
  }
}

/**
 * Kadence row background sliders (front-page hero): zero the Splide list
 * before JS adds `.kb-splide`. Until then the UA stylesheet insets the
 * first slide (~40px left, ~16px top), which jumps into place on init
 * and counts as CLS.
 */
.kb-row-layout-wrap > .kb-blocks-bg-slider .splide__list,
.kb-row-layout-wrap > .kb-blocks-bg-slider .splide__slide {
  margin: 0;
  padding: 0;
  list-style: none;
}

/**
 * Browser autofill paints a blue/yellow field background that cannot be
 * removed with normal background-color. Cover via opaque inset box-shadow
 * (true transparency lets the UA blue show through). Soft green tint =
 * organic-green mixed into white.
 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active {
  -webkit-text-fill-color: var(--wp--preset--color--forest-night);
  caret-color: var(--wp--preset--color--forest-night);
  box-shadow: 0 0 0 1000px
    color-mix(
      in srgb,
      var(--wp--preset--color--organic-green) 14%,
      var(--wp--preset--color--white)
    )
    inset;
  transition: background-color 99999s ease-out 0s;
}

/**
 * Kadence Shop Kit appends an empty .kt-gallery-icon-tooltip to body.
 * Absolute + padding with no top/left leaves it at the document end and
 * adds ~18px of scroll below the footer on every page. Hide until hover
 * shows it (JS adds .kt-gallery-icon-tooltip--visible and sets coords).
 */
.kt-gallery-icon-tooltip:not(.kt-gallery-icon-tooltip--visible) {
  display: none;
}

/************** FIBO SEARCH STYLES *****************/
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
  padding: 0;
}

.dgwt-wcas-style-pirx
  .dgwt-wcas-sf-wrapp
  input[type="search"].dgwt-wcas-search-input::placeholder {
  text-align: center;
  padding-right: 24px;
  font-family: "Bogart";
  font-weight: 600;
  font-size: 16px;
  color: var(--wp--preset--color--organic-green);
}

.dgwt-wcas-style-pirx.dgwt-wcas-search-wrapp.dgwt-wcas-search-focused
  input[type="search"].dgwt-wcas-search-input:hover,
.dgwt-wcas-tpd-image-hovered {
  background-color: var(--wp--preset--color--mist);
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
  top: 11px;
  left: 12px;
}

.mobile
  .dgwt-wcas-style-pirx
  .dgwt-wcas-sf-wrapp
  input[type="search"].dgwt-wcas-search-input {
  padding: 10px 24px 10px 45px;
}

.mobile
  .dgwt-wcas-style-pirx
  .dgwt-wcas-sf-wrapp
  button.dgwt-wcas-search-submit {
  left: 20px;
  top: 18px;
}

.dgwt-wcas-pd-addtc-form .quantity input.qty {
  padding-top: 8px;
  padding-bottom: 8px;
}

.dgwt-wcas-open-pirx .dgwt-wcas-open .dgwt-wcas-suggestions-wrapp {
  transform: translateY(-10px);
}

.dgwt-wcas-open-pirx body.dgwt-wcas-details-right .dgwt-wcas-details-wrapp {
  transform: translate(-5px, -10px);
}

.dgwt-wcas-is-details .dgwt-wcas-sp {
  flex-direction: row;
}

.dgwt-wcas-tpd-rest-title {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--forest-night);
}

.dgwt-wcas-tpd-price {
  font-size: 14px;
}

a.dgwt-wcas-details-post-title,
a.dgwt-wcas-details-product-title {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--forest-night);
}

.dgwt-wcas-pd-price,
.dgwt-wcas-tpd-price {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--organic-green);
}

.product_archive_image {
  overflow: hidden;
}

/* Wishlist button on product grid images: flush top-right (plugin default 0.5em). */
.wlfmc-top-of-image.image_top_right {
  top: 0;
  right: 0;
}

.kt-blocks-product-carousel-block[class*="is-style-frodig-label"]
  .wlfmc-top-of-image.image_top_right {
  top: 0.5em;
  right: 0.5em;
}

.kt-blocks-product-carousel-block .wlfmc-add-to-wishlist {
  z-index: 3;
}

/*
 * Product Collection: Smart Wishlist injects as wlfmc_position_shortcode (in-flow
 * sibling above the image), not wlfmc-top-of-image. Pin to card top-right so it
 * overlays the image like classic loop / carousel.
 */
.wc-block-product-template li.wc-block-product {
  position: relative;
}

.wc-block-product-template
  li.wc-block-product
  > .wlfmc-add-to-wishlist.wlfmc_position_shortcode {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
}

[class*="is-style-frodig-label"]
  .wc-block-product-template
  li.wc-block-product
  > .wlfmc-add-to-wishlist.wlfmc_position_shortcode {
  top: 0.5em;
  right: 0.5em;
}

/* Added-to-wishlist popup title — match theme headings */
.wlfmc-popup .wlfmc-popup-title {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
}

/* Sale badges: round rust pill, top-left (wishlist stays top-right).
 * Do not restyle cart drawer .wc-block-components-sale-badge. */
.woocommerce span.onsale,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale,
.frodig-sale-badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.236em;
  min-height: 3.236em;
  padding: 0.202em;
  margin: 0;
  border: 0;
  border-radius: 100%;
  background-color: var(--wp--preset--color--rust);
  color: var(--wp--preset--color--white);
  font-size: 0.857em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-transform: none;
  width: auto;
  z-index: 9;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
}

.woocommerce ul.products li.product .onsale {
  top: 8px;
  right: auto;
  left: 8px;
  margin: 0;
}

.wc-block-components-product-sale-badge span {
  background-color: transparent;
  color: inherit;
}

.frodig-sale-badge {
  position: absolute;
  top: 8px;
  left: 8px;
}

/* Match catalog listing ATC: green regular price, rust sale (dimmed original). */
.wc-block-components-product-price,
.wp-block-woocommerce-product-price {
  color: var(--wp--preset--color--organic-green);
}

.wc-block-components-product-price .amount,
.wp-block-woocommerce-product-price .amount {
  color: var(--wp--preset--color--organic-green);
  font-weight: 600;
}

.wc-block-components-product-price del,
.wp-block-woocommerce-product-price del {
  color: var(--wp--preset--color--rust);
  opacity: 0.65;
  font-weight: 500;
  text-decoration: line-through;
}

.wc-block-components-product-price del .amount,
.wp-block-woocommerce-product-price del .amount {
  color: var(--wp--preset--color--rust);
  font-weight: 500;
}

.wc-block-components-product-price ins,
.wp-block-woocommerce-product-price ins {
  color: var(--wp--preset--color--rust);
  text-decoration: none;
  font-weight: 600;
  background: none;
}

.wc-block-components-product-price ins .amount,
.wp-block-woocommerce-product-price ins .amount {
  color: var(--wp--preset--color--rust);
  font-weight: 600;
}

.frodig-nutrition {
  width: 100%;
  border-collapse: collapse;
  color: var(--wp--preset--color--dark-gray);
}

.frodig-nutrition caption {
  caption-side: top;
  text-align: left;
  font-weight: 600;
  margin-bottom: var(--wp--preset--spacing--20);
  color: var(--wp--preset--color--dark-green);
}

.frodig-nutrition th,
.frodig-nutrition td {
  padding: var(--wp--preset--spacing--10) 0;
  border-bottom: 1px solid var(--wp--preset--color--light-green);
  text-align: left;
  vertical-align: top;
}

.frodig-nutrition th {
  font-weight: 400;
  padding-right: var(--wp--preset--spacing--20);
}

.frodig-nutrition tr.is-sub th {
  padding-left: var(--wp--preset--spacing--20);
}

/************** WOO PRODUCT ARCHIVE STYLES *****************/
.woocommerce ul.products li.product {
  margin-bottom: 1rem;
}

.woocommerce ul.products li.product a img {
  border-radius: 4px;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--wp--preset--color--organic-green);
  font-family: var(--wp--preset--font-family--bogart);
}

.woocommerce ul.products li.product .price {
  font-weight: 600;
  font-size: 24px;
}

/************** WOO PRODUCT CAROUSEL STYLES *****************/
.kt-blocks-product-carousel-block .kt-product-carousel-wrap .splide__track {
  border-radius: 4px;
}

/*
 * Product-carousel pagination only (hero .kb-blocks-bg-slider stays light/white).
 * Quiet indicators: sage inactive, organic-green active; outlinedark = same filled dots.
 * Note: .kt-blocks-carousel lives on the same root as .kt-blocks-product-carousel-block.
 */
.kt-blocks-product-carousel-block .kb-splide .splide__pagination__page {
  width: 6px;
  height: 6px;
  margin: 3px;
  background: var(--wp--preset--color--sage);
  opacity: 0.4;
  border: 0;
  box-shadow: none;
}

.kt-blocks-product-carousel-block .splide__pagination__page.is-active {
  background: var(--wp--preset--color--organic-green);
  opacity: 0.7;
  transform: none;
}

.kt-blocks-product-carousel-block
  .kt-carousel-dotstyle-outlinedark
  .splide__pagination__page {
  background: var(--wp--preset--color--sage);
  opacity: 0.4;
  box-shadow: none;
  border: 0;
}

.kt-blocks-product-carousel-block
  .kt-carousel-dotstyle-outlinedark
  .splide__pagination__page.is-active {
  background: var(--wp--preset--color--organic-green);
  opacity: 0.7;
  box-shadow: none;
}
/* Legacy Woo loop ATC only — listing ATC overrides live in listing-atc.css */
.kt-blocks-product-carousel-block .add_to_cart_button {
  position: absolute;
  bottom: 0;
  right: 0;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--wp--preset--color--forest-night);
  padding: 0;
  margin-bottom: 1rem;
  font-size: var(--global-kb-font-size-md, 1rem);
  font-weight: var(--wp--custom--font-weight--heading);
}

.woocommerce ul.products li.product .price {
  margin-top: auto;
  margin-bottom: 0;
}

/************** PATTERN BACKGROUNDS *****************/
.frodig-pattern-1 {
  background-image: url("assets/patterns/pattern-1.png");
  background-repeat: repeat;
  background-size: 400px;
  background-position: center;
}

.frodig-pattern-2 {
  background-image: url("assets/patterns/pattern-2.png");
  background-repeat: repeat;
  background-size: 400px;
  background-position: center;
}

.frodig-pattern-1::before,
.frodig-pattern-2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--wp--preset--color--mist);
  opacity: 0.85;
  pointer-events: none;
}

/************** HEADER MINI CART *****************/
.wc-block-mini-cart__badge {
  color: var(--wp--preset--color--white) !important;
  height: 22px;
  width: 22px;
  font-size: var(--wp--preset--font-size--small);
  margin-left: -30%;
  top: 0;
}

/*
 * Mini cart drawer — match wishlist / mini-wishlist tokens:
 * Bogart titles & prices, 4px image radius, primary + outline CTAs.
 */
.wc-block-mini-cart__drawer .wc-block-cart-item__image a,
.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
  border-radius: 4px;
}

/* Short description HTML (often full product copy with h3) clutters the drawer.
 * Hide the watcher wrapper too — it stays in the flex flow at 0 height and the
 * metadata column gap:4px still opens space above variation attributes. */
.wc-block-mini-cart__drawer
  .wc-block-components-product-metadata
  > div:has(> .wc-block-components-product-metadata__description) {
  display: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-metadata {
  gap: 0;
}

/* No visible attributes — drop the empty metadata flex item (extra wrap gap). */
.wc-block-mini-cart__drawer
  .wc-block-components-product-metadata:not(
    :has(.wc-block-components-product-details:not([hidden]))
  ) {
  display: none;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  a.wc-block-components-product-name,
.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-components-product-name {
  font-family: var(--wp--preset--font-family--bogart);
  font-size: 1rem;
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--forest-night);
  text-decoration: none;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  a.wc-block-components-product-name:hover {
  color: var(--wp--preset--color--organic-green);
}

.wc-block-mini-cart__drawer .wc-block-components-product-price,
.wc-block-mini-cart__drawer .wc-block-components-product-price .amount,
.wc-block-mini-cart__drawer .wc-block-components-product-price__value {
  font-family: var(--wp--preset--font-family--bogart);
  font-size: 1rem;
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--organic-green);
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__prices,
.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__total {
  font-size: 1rem;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price del,
.wc-block-mini-cart__drawer .wc-block-components-product-price del .amount,
.wc-block-mini-cart__drawer .wc-block-components-product-price__regular {
  font-family: var(--wp--preset--font-family--bogart);
  color: var(--wp--preset--color--rust);
  opacity: 0.65;
  font-weight: 500;
}

/* Sale price sits in __value after a del (Woo mini cart does not wrap ins). */
.wc-block-mini-cart__drawer
  .wc-block-components-product-price:has(del)
  .wc-block-components-product-price__value,
.wc-block-mini-cart__drawer .wc-block-components-product-price ins,
.wc-block-mini-cart__drawer .wc-block-components-product-price ins .amount {
  color: var(--wp--preset--color--rust);
  text-decoration: none;
  font-weight: 600;
  background: none;
  opacity: 1;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__quantity
  .wc-block-cart-item__remove-link {
  color: var(--wp--preset--color--stamp);
  text-decoration: none;
  border-radius: 4px;
  transition:
    background-color 0.15s ease,
    opacity 0.15s ease;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__quantity
  .wc-block-cart-item__remove-link:hover {
  color: var(--wp--preset--color--stamp);
  opacity: 0.85;
}

.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label,
.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--forest-night);
}

.wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__description {
  color: var(--wp--preset--color--sage);
  opacity: 0.85;
}

/* Checkout — primary CTA (theme button / wishlist add-all). */
.wc-block-mini-cart__footer-checkout.wc-block-components-button {
  background-color: var(--wp--preset--color--organic-green) !important;
  background: var(--wp--preset--color--organic-green) !important;
  border: 1px solid var(--wp--preset--color--organic-green) !important;
  border-radius: 3px !important;
  color: var(--wp--preset--color--white) !important;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 600 !important;
  box-shadow: none !important;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}

.wc-block-mini-cart__footer-checkout.wc-block-components-button:hover {
  background-color: var(--wp--preset--color--moss) !important;
  background: var(--wp--preset--color--moss) !important;
  border-color: var(--wp--preset--color--moss) !important;
  color: var(--wp--preset--color--white) !important;
}

/* View cart — secondary outline (wishlist Apply / guest sign-up). */
.wc-block-mini-cart__footer-cart.wc-block-components-button {
  background-color: transparent !important;
  background: transparent !important;
  border: 1px solid var(--wp--preset--color--organic-green) !important;
  border-radius: 3px !important;
  color: var(--wp--preset--color--forest-night) !important;
  font-family: var(--wp--preset--font-family--body);
  font-weight: 600 !important;
  box-shadow: none !important;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease;
}

.wc-block-mini-cart__footer-cart.wc-block-components-button:hover {
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--sage) 40%,
    transparent
  ) !important;
  background: color-mix(
    in srgb,
    var(--wp--preset--color--sage) 40%,
    transparent
  ) !important;
  border-color: var(--wp--preset--color--moss) !important;
  color: var(--wp--preset--color--forest-night) !important;
}

/* Empty-cart shopping CTA — same primary treatment. */
.wc-block-mini-cart__shopping-button.wc-block-components-button {
  background-color: var(--wp--preset--color--organic-green) !important;
  background: var(--wp--preset--color--organic-green) !important;
  border: 1px solid var(--wp--preset--color--organic-green) !important;
  border-radius: 3px !important;
  color: var(--wp--preset--color--white) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.wc-block-mini-cart__shopping-button.wc-block-components-button:hover {
  background-color: var(--wp--preset--color--moss) !important;
  background: var(--wp--preset--color--moss) !important;
  border-color: var(--wp--preset--color--moss) !important;
}

/* Item count in the drawer title — muted like mini-wishlist totals. */
.wc-block-mini-cart__title
  .wp-block-woocommerce-mini-cart-title-items-counter-block {
  color: var(--wp--preset--color--sage);
  font-weight: 500;
}

/* Keyboard-only focus in the drawer */
.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  a.wc-block-components-product-name:focus:not(:focus-visible),
.wc-block-mini-cart__drawer
  .wc-block-cart-item__image
  a:focus:not(:focus-visible),
.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__quantity
  .wc-block-cart-item__remove-link:focus:not(:focus-visible),
.wc-block-mini-cart__footer-cart:focus:not(:focus-visible),
.wc-block-mini-cart__footer-checkout:focus:not(:focus-visible),
.wc-block-mini-cart__shopping-button:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  a.wc-block-components-product-name:focus-visible {
  outline: none !important;
  color: var(--wp--preset--color--organic-green);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image a:focus-visible {
  outline: 2px solid var(--wp--preset--color--organic-green) !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}

.wc-block-mini-cart__drawer
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__quantity
  .wc-block-cart-item__remove-link:focus-visible {
  outline: none !important;
  color: var(--wp--preset--color--stamp);
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--stamp) 18%,
    transparent
  );
  opacity: 1;
}

.wc-block-mini-cart__footer-checkout:focus-visible,
.wc-block-mini-cart__shopping-button:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-night) !important;
  outline-offset: 2px !important;
}

.wc-block-mini-cart__footer-cart:focus-visible {
  outline: 2px solid var(--wp--preset--color--moss) !important;
  outline-offset: 2px !important;
}

/************** HEADER WISHLIST COUNTER *****************/
.wp-block-kadence-header
  .wp-block-kadence-header-section:has(.wlfmc-counter-wrapper) {
  justify-content: flex-end;
}

.wp-block-kadence-header .wlfmc-counter-wrapper {
  width: auto;
  flex: 0 0 auto;
  height: auto;
  z-index: 0;
}

.wp-block-kadence-header .wlfmc-counter-wrapper .wlfmc-counter {
  width: auto;
  position: relative;
  padding: 15px;
}

.wp-block-kadence-header .wlfmc-counter-wrapper .wlfmc-counter-icon {
  font-size: 1.3rem;
}

.wp-block-kadence-header .wlfmc-counter-wrapper .wlfmc-counter-number {
  background-color: var(--wp--preset--color--amber);
  color: var(--wp--preset--color--white);
  font-weight: bold;
  font-size: var(--wp--preset--font-size--small);
  border-radius: 25px;
  width: 22px;
  height: 22px;
  text-align: center;
  position: absolute;
  top: 0;
  right: -5px;
}
.wp-block-kadence-header
  .wlfmc-counter-wrapper:has(.wlfmc-counter-dropdown.position-fixed) {
  display: contents;
}

.wlfmc-counter-wrapper .wlfmc-counter-dropdown.lists-show {
  z-index: 10;
}

/************** HEADER FOCUS (nav / icons / logo) *****************/
/*
 * One soft white wash for keyboard focus on the green header.
 * Overrides global :where(.wp-site-blocks *:focus) outline inside the header
 * and plugin .wlfmc-counter:focus { outline: none }.
 * Nav links stay square; logo + top-right icons keep 4px radius.
 */
.wp-block-kadence-header .kb-advanced-image-link {
  display: inline-flex;
  line-height: 0;
  border-radius: 4px;
}

.wp-block-kadence-header .kb-advanced-image-link img {
  display: block;
}

.wp-block-kadence-header .wc-block-customer-account__link,
.wp-block-kadence-header .wc-block-customer-account__toggle,
.wp-block-kadence-header .wc-block-mini-cart__button,
.wp-block-kadence-header .wlfmc-counter-wrapper .wlfmc-counter {
  border-radius: 4px;
}

.wp-block-kadence-header .kb-advanced-image-link:focus:not(:focus-visible),
.wp-block-kadence-header
  .wp-block-kadence-navigation
  a:focus:not(:focus-visible),
.wp-block-kadence-header
  .wp-block-kadence-navigation-link
  > a:focus:not(:focus-visible),
.wp-block-kadence-header .kb-link-wrap > a:focus:not(:focus-visible),
.wp-block-kadence-header
  .wc-block-customer-account__link:focus:not(:focus-visible),
.wp-block-kadence-header
  .wc-block-customer-account__toggle:focus:not(:focus-visible),
.wp-block-kadence-header .wc-block-mini-cart__button:focus:not(:focus-visible),
.wp-block-kadence-header
  .wlfmc-counter-wrapper
  .wlfmc-counter:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent;
}

.wp-block-kadence-header .wp-block-kadence-navigation a:focus-visible,
.wp-block-kadence-header .wp-block-kadence-navigation-link > a:focus-visible,
.wp-block-kadence-header .kb-link-wrap > a:focus-visible,
.wp-block-kadence-header .wc-block-customer-account__link:focus-visible,
.wp-block-kadence-header .wc-block-customer-account__toggle:focus-visible,
.wp-block-kadence-header .wc-block-mini-cart__button:focus-visible,
.wp-block-kadence-header .wlfmc-counter-wrapper .wlfmc-counter:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--white) 25%,
    transparent
  );
}

/* Logo: subtler wash + outer ring (no layout shift). */
.wp-block-kadence-header .kb-advanced-image-link:focus-visible {
  outline: 8px solid
    color-mix(in srgb, var(--wp--preset--color--white) 14%, transparent);
  outline-offset: 0;
  box-shadow: none !important;
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--white) 14%,
    transparent
  );
}

/************** SMART WISHLIST TOASTS *****************/
/* Free plugin hardcodes toast-top-left; pin to bottom-left away from the logo. */
#toast-container.toast-top-left {
  top: auto;
  bottom: 12px;
  left: 12px;
}

#toast-container > div {
  box-shadow: 0 2px 10px
    color-mix(in srgb, var(--wp--preset--color--forest-night) 18%, transparent) !important;
  opacity: 1;
}

#toast-container > .toast-success {
  background-color: var(--wp--preset--color--organic-green) !important;
  color: var(--wp--preset--color--white) !important;
}

#toast-container > .toast-error {
  background-color: var(--wp--preset--color--stamp) !important;
  color: var(--wp--preset--color--white) !important;
}

#toast-container > .toast-info {
  background-color: var(--wp--preset--color--sage) !important;
  color: var(--wp--preset--color--white) !important;
}

#toast-container > .toast-warning {
  background-color: var(--wp--preset--color--amber) !important;
  color: var(--wp--preset--color--white) !important;
}

#toast-container .toast-message a,
#toast-container .toast-message label {
  color: var(--wp--preset--color--white) !important;
}

#toast-container .toast-message a:hover {
  color: var(--wp--preset--color--mist) !important;
}

/************** HEADER MINI WISHLIST DROPDOWN *****************/
/* Global: fixed dropdown can leave the header (display:contents / append). */

.wlfmc-products-counter-wrapper .wlfmc-counter-item {
  align-items: center;
  position: relative;
  padding-right: 1.25rem;
  /* Let thumbnail outline-offset paint outside the 50px image. */
  overflow: visible;
}

/* Plugin sets overflow:hidden on the mini list — that clips focus rings. */
.wlfmc-products-counter-wrapper
  .wlfmc-products-counter-wishlist
  .wlfmc-mini-wishlist-list {
  overflow: visible;
}

/* Collapse inline-img baseline gap so the focus ring hugs the image (logo-link pattern). */
.wlfmc-products-counter-wrapper a.product-thumbnail {
  display: inline-flex;
  line-height: 0;
  border-radius: 4px;
}

.wlfmc-products-counter-wrapper a.product-thumbnail img {
  display: block;
  margin-bottom: 0;
  border-radius: 4px;
}

.wlfmc-products-counter-wrapper .wlfmc-products-counter-wishlist .product-name {
  font-family: var(--wp--preset--font-family--bogart);
  font-size: var(--wp--preset--font-size--small);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--forest-night) !important;
  text-decoration: none;
}

.wlfmc-products-counter-wrapper
  .wlfmc-products-counter-wishlist
  .product-name:hover {
  color: var(--wp--preset--color--organic-green) !important;
}

.wlfmc-products-counter-wrapper .product-price,
.wlfmc-products-counter-wrapper .product-price .amount {
  font-family: var(--wp--preset--font-family--bogart);
  font-weight: var(--wp--custom--font-weight--heading);
  color: var(--wp--preset--color--organic-green);
}

.wlfmc-products-counter-wrapper .product-price del,
.wlfmc-products-counter-wrapper .product-price del .amount {
  color: var(--wp--preset--color--rust);
  opacity: 0.65;
  font-weight: 500;
  text-decoration: line-through;
}

.wlfmc-products-counter-wrapper .product-price ins,
.wlfmc-products-counter-wrapper .product-price ins .amount {
  color: var(--wp--preset--color--rust);
  text-decoration: none;
  font-weight: 600;
  background: none;
}

.wlfmc-products-counter-wrapper .product-price {
  justify-content: flex-start;
  gap: 0.35rem;
}

/*
 * Remove chip: square hit area (wishlist-page approach).
 * Plugin forces height:auto !important + padding:0 on dropdown links — beat
 * that with matching :not() chain and equal width/height !important.
 */
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge),
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge),
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus,
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus,
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus-visible,
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus-visible {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.5rem !important;
  height: 1.5rem !important;
  min-width: 1.5rem;
  min-height: 1.5rem;
  padding: 0 !important;
  border-radius: 4px;
  color: var(--wp--preset--color--stamp) !important;
  line-height: 0 !important;
  margin: 0 !important;
  background-color: transparent;
  transition: background-color 0.15s ease;
}

.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge)
  i,
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge)
  i {
  display: block;
  line-height: 1;
}

.wlfmc-products-counter-wrapper
  .wlfmc-counter-item
  .wlfmc-remove-from-list:hover,
.wlfmc-products-counter-wrapper
  .wlfmc-counter-item
  .remove_from_wishlist:hover {
  color: var(--wp--preset--color--stamp) !important;
  opacity: 0.85;
}

.wlfmc-products-counter-wrapper .total-products,
.wlfmc-products-counter-wrapper .total-products .wlfmc-total-title,
.wlfmc-products-counter-wrapper .total-products .wlfmc-total-count {
  color: var(--wp--preset--color--sage);
  opacity: 0.85;
  font-weight: 500;
}

.wlfmc-products-counter-wrapper .wlfmc-view-wishlist-link {
  font-weight: 600;
  border-radius: 3px !important;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease;
}

/*
 * Keyboard-only focus in mini wishlist popup.
 * Plugin rule (style.css ~2125) zeros outline/box-shadow on dropdown a:focus
 * with three :not() classes — our selectors must exceed that specificity.
 */
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.product-thumbnail:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus:not(:focus-visible),
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.product-name:not(.wlfmc-view-wishlist-link):not(.wlfmc-view-lists-link):not(
    .wlfmc-badge
  ):focus:not(:focus-visible),
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus:not(:focus-visible),
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus:not(:focus-visible),
.wlfmc-products-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-view-wishlist-link:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  background-color: transparent;
  text-decoration: none;
}

.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.product-thumbnail:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus-visible {
  outline: 2px solid var(--wp--preset--color--organic-green) !important;
  outline-offset: 3px !important;
  border-radius: 4px;
  /* Plugin also forces box-shadow:none — keep ring via outline only. */
  box-shadow: none !important;
}

.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.product-name:not(.wlfmc-view-wishlist-link):not(.wlfmc-view-lists-link):not(
    .wlfmc-badge
  ):focus-visible {
  outline: none !important;
  box-shadow: none !important;
  color: var(--wp--preset--color--organic-green) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
}

.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-remove-from-list:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus-visible,
.wlfmc-products-counter-wrapper.wlfmc-counter-wrapper
  .wlfmc-counter-dropdown
  a.remove_from_wishlist:not(.wlfmc-view-wishlist-link):not(
    .wlfmc-view-lists-link
  ):not(.wlfmc-badge):focus-visible {
  outline: none !important;
  box-shadow: none !important;
  color: var(--wp--preset--color--stamp) !important;
  background-color: color-mix(
    in srgb,
    var(--wp--preset--color--stamp) 18%,
    transparent
  );
  border-radius: 4px;
  opacity: 1;
}

.wlfmc-products-counter-wrapper
  .wlfmc-counter-dropdown
  a.wlfmc-view-wishlist-link:focus-visible {
  outline: 2px solid var(--wp--preset--color--forest-night) !important;
  outline-offset: 2px !important;
}
