/* Shared interaction states. Loaded after the component styles. */
body {
  --vlc-action-ink: #163b2c;
  --vlc-action-hover: #28583d;
  --vlc-action-paper: #eef4e8;
  --vlc-action-line: #667e60;
}

/* Two contrasting edges remain visible on white and dark green surfaces. */
body :where(a[href], button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid var(--vlc-action-ink) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
body :where(a[href], button, summary, [role="button"]):not(:disabled, [aria-disabled="true"]) {
  cursor: pointer;
  -webkit-tap-highlight-color: rgb(40 88 61 / 18%);
}
body :where(button, input, select, textarea):disabled,
body [aria-disabled="true"] { cursor: not-allowed; }
body input:is([type="checkbox"], [type="radio"]) { accent-color: var(--vlc-action-ink); }

/* Navigation and linked titles gain emphasis when used, with quiet rest states. */
.vlc-site :is(.vlc-footer__menu, .vlc-footer__contact, .vlc-footer__legal) a,
.vlc-site :is(.vlc-card-title, .vlc-learning-kit-preview h3, .vlc-after-add-card h3,
  .lc-mano-verde-card__title, .lc-mano-verde-post__title, h2, h3, h4) a {
  text-decoration: none;
  text-underline-offset: 0.22em;
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
  transition: color 140ms ease-out, background-color 140ms ease-out;
}
.vlc-site :is(.vlc-footer__menu, .vlc-footer__contact, .vlc-footer__legal) a:focus-visible,
.vlc-site :is(.vlc-card-title, .vlc-learning-kit-preview h3, .vlc-after-add-card h3,
  .lc-mano-verde-card__title, .lc-mano-verde-post__title, h2, h3, h4) a:focus-visible {
  color: var(--vlc-action-ink);
  text-decoration: underline;
}
.vlc-site :is(.vlc-nav, .vlc-footer__menu, .vlc-footer__legal) a[aria-current="page"] {
  color: var(--vlc-action-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.3em;
  font-weight: 700;
}
.vlc-site :is(.vlc-footer__menu, .vlc-footer__contact, .vlc-footer__legal) a:active,
.vlc-site .vlc-card-title a:active { color: #8f412b; text-decoration: underline; }

/* Every filled purchase/contact control keeps a high-contrast label. */
body :is(.vlc-btn--leaf, .vlc-btn--clay, .vlc-garden-button, .vlc-garden-product__buy,
  .single_add_to_cart_button, .checkout-button, #place_order, .mv-primary, .mv-checkout,
  .mv-launch-button) {
  background-color: var(--vlc-action-ink) !important;
  color: #fff !important;
  border-color: var(--vlc-action-ink);
  text-decoration: none;
  transition: background-color 140ms ease-out, border-color 140ms ease-out;
}
.vlc-site .vlc-footer a.vlc-footer__social-link {
  min-width: 0;
  gap: 0.35rem;
  height: auto;
  color: var(--vlc-action-ink);
  background: #fff;
  border-color: var(--vlc-action-line);
  text-decoration: none;
  transition: border-color 140ms ease-out;
}
.vlc-site .vlc-footer a.vlc-footer__social-link[href^="https://wa.me/"] {
  color: #fff;
  background: var(--vlc-action-ink);
  border-color: var(--vlc-action-ink);
}
.vlc-site .vlc-footer a.vlc-footer__social-link:active {
  color: #fff;
  background: #102c20;
  border-color: #102c20;
}
body :is(.vlc-btn--leaf, .vlc-btn--clay, .vlc-garden-button, .vlc-garden-product__buy,
  .single_add_to_cart_button, .checkout-button, #place_order, .mv-primary, .mv-checkout,
  .mv-launch-button):active:not(:disabled, [aria-disabled="true"]) {
  background-color: #102c20 !important;
  border-color: #102c20;
  transform: translateY(1px);
}

/* Outline controls react without losing the selected-state hierarchy. */
.vlc-site .vlc-product-card .vlc-card-actions .vlc-card-primary,
body :is(.vlc-btn--ghost, .vlc-btn--options, .vlc-kit-option, .mv-choice,
  .vlc-visual-picker__option, .vlc-kit-needs button) {
  /* Foreground/background switch together; interpolation loses text contrast. */
  transition: border-color 140ms ease-out;
}
.vlc-site .vlc-product-card .vlc-card-actions .vlc-card-primary:active,
body :is(.vlc-btn--ghost, .vlc-btn--options, .vlc-kit-option, .mv-choice,
  .vlc-visual-picker__option, .vlc-kit-needs button):active:not(:disabled, [aria-disabled="true"]) {
  color: #fff;
  background: var(--vlc-action-ink);
  border-color: var(--vlc-action-ink);
}
.vlc-site .vlc-shop-filters .vlc-filter-chip:not(.is-active) {
  border-color: var(--vlc-action-line);
}
.vlc-site .vlc-shop-filters .vlc-filter-chip.is-active,
.vlc-site .vlc-shop-filters .vlc-filter-chip[aria-current="page"] {
  border-color: var(--vlc-action-ink);
  background: #e3efda;
  color: var(--vlc-action-ink);
  box-shadow: inset 0 0 0 1px var(--vlc-action-ink);
}
.vlc-site .vlc-garden-shop-families a {
  border-radius: 4px 4px 0 0;
  transition: background-color 140ms ease-out, color 140ms ease-out;
}
.vlc-site .vlc-garden-shop-families a[aria-current="page"] {
  background: var(--vlc-action-paper);
  color: var(--vlc-action-ink);
  font-weight: 700;
}
.vlc-site .vlc-cart-toggle:active { background: #102c20; color: #fff; }
.vlc-site :is(.lc-saved-products-toggle, .lc-product-card-share__button):active {
  background: var(--vlc-action-paper);
  color: var(--vlc-action-ink);
}
.vlc-site .premium-cart-wrapper .btn-checkout-premium {
  color: #fff;
  text-decoration: none;
  transition: background-color 140ms ease-out;
}
.vlc-site .premium-cart-wrapper .btn-checkout-premium:active {
  background: #6c311f !important;
  color: #fff;
}
.woocommerce-checkout .vlc-site .vlc-checkout-confirm #place_order {
  background: var(--vlc-action-ink) !important;
  color: #fff !important;
}
.woocommerce-checkout .vlc-site .vlc-checkout-confirm #place_order:active:not(:disabled) {
  background: #102c20 !important;
}
.vlc-site .premium-cart-wrapper .qty-btn:active { background: var(--vlc-action-ink); color: #fff; }

@media (hover: hover) and (pointer: fine) {
  .vlc-site :is(.vlc-footer__menu, .vlc-footer__contact, .vlc-footer__legal) a:hover:not(:active),
  .vlc-site :is(.vlc-card-title, .vlc-learning-kit-preview h3, .vlc-after-add-card h3,
    .lc-mano-verde-card__title, .lc-mano-verde-post__title, h2, h3, h4) a:hover:not(:active) {
    color: #8f412b;
    text-decoration: underline;
  }
  .vlc-site .vlc-footer a.vlc-footer__social-link:hover:not(:active) {
    color: #fff;
    background: var(--vlc-action-hover);
    border-color: var(--vlc-action-hover);
    text-decoration: none;
  }
  body :is(.vlc-btn--leaf, .vlc-btn--clay, .vlc-garden-button, .vlc-garden-product__buy,
    .single_add_to_cart_button, .checkout-button, #place_order, .mv-primary, .mv-checkout,
    .mv-launch-button):hover:not(:active):not(:disabled, [aria-disabled="true"]) {
    background-color: var(--vlc-action-hover) !important;
    border-color: var(--vlc-action-hover);
    color: #fff !important;
    transform: none;
  }
  .vlc-site .vlc-product-card .vlc-card-actions .vlc-card-primary:hover:not(:active) {
    background: var(--vlc-action-ink);
    border-color: var(--vlc-action-ink);
    color: #fff;
    text-decoration: none;
  }
  body :is(.vlc-btn--ghost, .vlc-btn--options, .vlc-kit-option, .mv-choice,
    .vlc-visual-picker__option, .vlc-kit-needs button):hover:not(:active):not(:disabled, [aria-disabled="true"], [aria-pressed="true"], [aria-selected="true"]) {
    background: var(--vlc-action-paper);
    border-color: var(--vlc-action-ink);
    color: var(--vlc-action-ink);
  }
  .vlc-site .vlc-shop-filters .vlc-filter-chip:not(.is-active):hover:not(:active),
  .vlc-site .vlc-garden-shop-families a:not([aria-current="page"]):hover:not(:active) {
    background: var(--vlc-action-paper);
    color: var(--vlc-action-ink);
    border-color: var(--vlc-action-ink);
  }
  .vlc-site .vlc-nav-panel__links a:hover:not(:active) { background: var(--vlc-action-paper); }
  .vlc-site .vlc-cart-toggle:hover:not(:active) { background: var(--vlc-action-hover); color: #fff; }
  .vlc-site :is(.lc-saved-products-toggle, .lc-product-card-share__button):hover:not(:active):not([aria-pressed="true"]) {
    background: var(--vlc-action-paper);
    color: var(--vlc-action-ink);
  }
  .vlc-site :is(.vlc-category-discovery__card, .vlc-service-card, .vlc-pairing-card):hover:not(:active) {
    border-color: var(--vlc-action-ink);
  }
  .vlc-site .premium-cart-wrapper .btn-checkout-premium:hover:not(:active) {
    background: #8f412b !important;
    color: #fff;
  }
  .woocommerce-checkout .vlc-site .vlc-checkout-confirm #place_order:hover:not(:active, :disabled) {
    background: var(--vlc-action-hover) !important;
    color: #fff !important;
  }
  .vlc-site .premium-cart-wrapper .qty-btn:hover:not(:active) {
    background: var(--vlc-action-paper);
    color: var(--vlc-action-ink);
  }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.vlc-btn, .vlc-garden-button, .vlc-garden-product__buy, .single_add_to_cart_button,
    .checkout-button, #place_order, .mv-primary, .mv-launch-button):active { transform: none; }
}
