@keyframes pnwFloat {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(1.5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}
.wc-block-components-product-image img,
.woocommerce div.product div.images img {
  transition: transform .2s ease;
}
.wc-block-components-product-image:hover img,
.woocommerce div.product div.images:hover img {
  animation: pnwFloat 2.6s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .wc-block-components-product-image:hover img,
  .woocommerce div.product div.images:hover img { animation: none; }
}

/* Soften product image corners */
.wc-block-components-product-image img,
.woocommerce div.product div.images img,
.wp-block-woocommerce-product-image img {
  border-radius: 16px;
}

/* Soften button corners site-wide */
.wp-block-button__link,
.wc-block-components-button,
.wc-block-components-button__button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button,
.woocommerce #payment #place_order,
.wp-element-button {
  border-radius: 10px;
}

/* Site-wide dark theme: black background, blue-purple gradient headings, purple accents */
html body, .wp-site-blocks, main, section, .wp-block-group {
  background-color: #000000;
}
h1, h2, .wp-block-heading {
  background: linear-gradient(90deg, #38BDF8, #A855F7);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
p, li, span, label, .wp-block-paragraph {
  color: #FFFFFF;
}
.wp-block-button__link, .wc-block-components-button__button, button.add_to_cart_button, .single_add_to_cart_button {
  background-color: #7C3AED !important;
  color: #FFFFFF !important;
  border-color: #7C3AED !important;
}
a {
  color: #A855F7;
}

/* Card-style depth: product tiles and section wrappers get a charcoal surface instead of pure black */
li.wc-block-product, li.product, .wc-block-product-template__item, .products li {
  background-color: #111827;
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #1F2937;
  box-shadow: 0 0 24px rgba(124, 58, 237, 0.08);
}
.wp-block-group.alignwide, .wp-block-columns.alignwide, main > .wp-block-group {
  background-color: #0B0F17;
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 24px;
}

/* Fix low-contrast controls left over from before the dark theme (remove-item, quantity, edit links) */
.wc-block-cart-item__remove-link,
.wc-block-components-quantity-selector__button,
.wc-block-cart-item__wrap a,
.wc-block-components-totals-item__description a,
.wp-block-woocommerce-cart .wc-block-components-button:not(.wp-block-button__link) {
  color: #E5E7EB !important;
}
.wc-block-cart-item__remove-link:hover {
  color: #F87171 !important;
}

/* Replace the hero's background photo with a gradient matching the dark theme */
.wp-block-cover.is-style-section-3 img,
.wp-block-cover.is-style-section-3 .wp-block-cover__image-background {
  display: none !important;
}
.wp-block-cover.is-style-section-3 .wp-block-cover__background {
  background: radial-gradient(circle at 50% 30%, #1E293B 0%, #0B0F17 70%) !important;
  opacity: 1 !important;
}
.wp-block-cover.is-style-section-3::before {
  background: none !important;
}

/* Fix remaining low-contrast dark-on-dark elements: quantity input, mini-cart drawer buttons and notices */
.wc-block-components-quantity-selector__input {
  color: #E5E7EB !important;
  border-color: #374151 !important;
}
.wc-block-components-totals-item__description {
  color: #9CA3AF !important;
}
/* "View my cart" outline button */
.wc-block-mini-cart__footer-cart.is-style-outline {
  color: #E5E7EB !important;
  border-color: #E5E7EB !important;
}
/* "Go to checkout" button gets the purple accent for visibility instead of near-black */
.wc-block-mini-cart__footer-checkout {
  background-color: #7C3AED !important;
  color: #FFFFFF !important;
  border-color: #7C3AED !important;
}