/* WSP Wedding Moments – ergänzende Stile (Buttons, WooCommerce, Personalizer) */

:root {
  --wsp-radius: 18px;
  --wsp-shadow: 0 10px 30px rgba(168, 84, 111, 0.10);
}

/* Outline-Buttonstil */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--wp--preset--color--rose-dark);
  color: var(--wp--preset--color--rose-dark);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--rose-dark);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--rose-dark);
}

.wp-element-button,
.wp-block-button__link {
  transition: background-color .2s ease, color .2s ease, transform .15s ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover {
  transform: translateY(-1px);
}

/* Navigation */
.wp-block-navigation a:hover {
  color: var(--wp--preset--color--rose-dark);
}

/* ------------------------------------------------------------------
 * WooCommerce
 * ---------------------------------------------------------------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button {
  background-color: var(--wp--preset--color--rose-dark);
  color: var(--wp--preset--color--base);
  border: 0;
  border-radius: 999px;
  padding: 0.8em 1.8em;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: background-color .2s ease, transform .15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  transform: translateY(-1px);
}
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled[disabled] {
  background-color: var(--wp--preset--color--rose);
  color: var(--wp--preset--color--base);
}

/* Produktkarten */
.woocommerce ul.products li.product {
  background: var(--wp--preset--color--base);
  border: 1px solid #f0e2e6;
  border-radius: var(--wsp-radius);
  padding: 1rem 1rem 1.4rem;
  text-align: center;
  transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--wsp-shadow);
  transform: translateY(-3px);
}
.woocommerce ul.products li.product img {
  border-radius: calc(var(--wsp-radius) - 6px);
  margin-bottom: 0.8rem;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product .price {
  color: var(--wp--preset--color--rose-dark);
  font-weight: 600;
  font-size: 1.05rem;
}
.woocommerce ul.products li.product .button {
  margin-top: 0.6rem;
}

/* Sale-Badge */
.woocommerce span.onsale {
  background: var(--wp--preset--color--rose-dark);
  color: var(--wp--preset--color--base);
  border-radius: 999px;
  padding: 0.35em 1em;
  min-height: 0;
  min-width: 0;
  line-height: 1.6;
  font-weight: 600;
}

/* Sternebewertung */
.woocommerce .star-rating span::before,
.woocommerce p.stars a {
  color: var(--wp--preset--color--gold);
}

/* Einzelprodukt */
.woocommerce div.product .product_title {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--wp--preset--color--rose-dark);
  font-size: 1.4rem;
  font-weight: 600;
}
.woocommerce div.product div.images img {
  border-radius: var(--wsp-radius);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--wp--preset--color--blush);
  border-color: #f0e2e6;
  border-radius: 12px 12px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--wp--preset--color--base);
}

/* Formulare */
.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
  border: 1px solid #e6d3d9;
  border-radius: 12px;
  padding: 0.6em 0.9em;
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
}
.woocommerce .quantity .qty:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--wp--preset--color--rose-dark);
  outline: 2px solid var(--wp--preset--color--blush);
}

/* Hinweise */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 12px;
  background: var(--wp--preset--color--cream);
  border-top-color: var(--wp--preset--color--rose-dark);
  color: var(--wp--preset--color--contrast);
}
.woocommerce-message { border-top-color: var(--wp--preset--color--sage-dark); }
.woocommerce-error { border-top-color: #b42318; }

/* Tabellen (Warenkorb) */
.woocommerce table.shop_table {
  border: 1px solid #f0e2e6;
  border-radius: var(--wsp-radius);
  overflow: hidden;
}
.woocommerce table.shop_table th {
  background: var(--wp--preset--color--blush);
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
  font-size: 0.85rem;
  opacity: 0.75;
}

/* Mini-Cart / Konto-Icons im Header */
.wc-block-mini-cart__button,
.wp-block-woocommerce-customer-account a {
  color: var(--wp--preset--color--contrast);
}

/* ------------------------------------------------------------------
 * WSP Product Personalizer – ans Theme angepasst
 * ---------------------------------------------------------------- */

.wsp-pp {
  border: 1px solid #f0e2e6;
  border-radius: var(--wsp-radius);
  background: var(--wp--preset--color--cream);
  box-shadow: none;
}
.wsp-pp h3 {
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 600;
}
.wsp-pp-slot {
  border-radius: 14px;
  border-color: #ecdce1;
}
.wsp-pp-placeholder {
  background: var(--wp--preset--color--blush);
}
.wsp-pp .button {
  border-radius: 999px;
}
.wsp-pp-qty-rest.good { color: var(--wp--preset--color--sage-dark); }
.wsp-pp-modal-card { border-radius: var(--wsp-radius); }
.wsp-pp-text-preview {
  border-radius: 14px;
  border-color: var(--wp--preset--color--rose);
  background: var(--wp--preset--color--base);
}
