.campova-announcement {
  background: var(--campova-color-forest, #183319);
  color: #fff;
  font-size: .875rem;
  padding: .5rem 1.25rem;
  text-align: center;
}

.campova-live-search { position: relative; }
.campova-live-search__results {
  background: #fff;
  border: 1px solid var(--campova-color-border, #c9c2b6);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 .75rem 2rem rgb(24 51 25 / 14%);
  inline-size: min(42rem, 92vw);
  inset: calc(100% + 2px) 0 auto;
  max-block-size: min(70vh, 32rem);
  overflow: auto;
  position: absolute;
  z-index: 70;
}
.campova-live-search__results[hidden] { display: none; }
.campova-live-search__results a {
  align-items: center;
  color: var(--campova-color-text, #1a1d1a);
  display: grid;
  gap: .75rem;
  grid-template-columns: 3rem 1fr auto;
  min-height: 4rem;
  padding: .5rem .75rem;
  text-decoration: none;
}
.campova-live-search__results a + a { border-top: 1px solid var(--campova-color-border, #c9c2b6); }
.campova-live-search__results a:hover, .campova-live-search__results a:focus { background: var(--campova-color-surface-muted, #f3eee5); }
.campova-live-search__results img, .campova-search-placeholder { aspect-ratio: 1; background: #f3eee5; border-radius: 4px; display: block; object-fit: cover; width: 3rem; }
.campova-live-search__results small { display: block; }

.campova-card-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}

li.product:hover .campova-card-actions,
.c-product-card:hover .campova-card-actions,
.wc-block-product:hover .campova-card-actions,
.campova-card-actions:has(.campova-favorite[aria-pressed="true"]),
.campova-card-actions:has(.is-active) {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (hover: none), (max-width: 768px) {
  .campova-card-actions {
    opacity: 0.85;
    transform: none;
    pointer-events: auto;
  }
}

.campova-icon-button, .campova-dialog-close {
  align-items: center;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  color: #183319;
  cursor: pointer;
  display: inline-flex;
  font-size: 1rem;
  height: 32px;
  width: 32px;
  justify-content: center;
  padding: 0;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.campova-icon-button:hover, .campova-icon-button:focus-visible, .campova-dialog-close:hover {
  background: #ffffff;
  border-color: rgba(24, 51, 25, 0.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
  color: #183319;
  transform: scale(1.1);
}

.campova-favorite[aria-pressed="true"],
.campova-favorite.is-active {
  color: #dc2626 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  border-color: rgba(220, 38, 38, 0.2) !important;
}

.campova-favorite[aria-pressed="true"] .fill-icon,
.campova-favorite.is-active .fill-icon {
  font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 0, 'opsz' 24;
}

.campova-quick-view-dialog {
  border: 0;
  border-radius: 8px;
  color: #1a1d1a;
  inline-size: min(58rem, calc(100% - 2rem));
  max-block-size: calc(100dvh - 2rem);
  padding: 1.5rem;
}
.campova-quick-view-dialog::backdrop { background: rgb(15 38 17 / 72%); }
.campova-dialog-close { float: right; }
.campova-quick-view-grid { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.campova-quick-view-grid img { height: auto; max-width: 100%; }
.campova-missing-media { align-items: center; aspect-ratio: 4/5; background: #f3eee5; display: flex; justify-content: center; padding: 1rem; }

.campova-shipping-progress { margin-block: 1rem; }
.campova-shipping-progress p { font-size: .875rem; margin: 0 0 .5rem; }
.campova-shipping-progress__track { background: #e7dac4; border-radius: 999px; height: .5rem; overflow: hidden; }
.campova-shipping-progress__track span { background: #183319; display: block; height: 100%; transition: width 150ms ease; }
.campova-favorites-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.campova-favorites-grid h2 { font-size: 1rem; }

.wc-block-cart, .wc-block-checkout { margin-block-start: 2rem; }
.wc-block-components-sidebar { position: sticky; top: 1rem; }
.wc-block-components-button { border-radius: 8px !important; min-height: 2.75rem; }

@media (max-width: 47.99rem) {
  .campova-quick-view-grid { grid-template-columns: 1fr; }
  .campova-live-search__results { inset-inline: 50% auto; transform: translateX(-50%); }
  .wc-block-components-sidebar { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  .campova-shipping-progress__track span { transition: none; }
}
