/* Whole Cakes shares the live Cafe Menu Studio palette used by Checkout Designer.
   Styles are deliberately scoped: other categories, cart and checkout are untouched. */
body.cwps-whole-cakes-archive,
body.cwps-whole-cakes-product {
  --cwps-cake-accent: #B5122B;
  --cwps-cake-text: #512330;
  --cwps-cake-muted: #76545E;
  --cwps-cake-surface: #FFFCFC;
  --cwps-cake-font: inherit;
  --cwps-cake-radius: 14px;
  --cwps-cake-line: color-mix(in srgb, var(--cwps-cake-accent) 16%, var(--cwps-cake-surface));
  --cwps-cake-tint: color-mix(in srgb, var(--cwps-cake-accent) 5%, var(--cwps-cake-surface));
  --cwps-brown: var(--cwps-cake-accent);
  --cwps-brown-2: var(--cwps-cake-accent);
  --cwps-brown-deep: var(--cwps-cake-accent);
  --cwps-accent: var(--cwps-cake-accent);
  --cwps-text: var(--cwps-cake-text);
  --cwps-muted: var(--cwps-cake-muted);
  --cwps-paper: var(--cwps-cake-surface);
  --cwps-line: var(--cwps-cake-line);
}

/* The standard WooCommerce archive and its product cards. */
body.cwps-whole-cakes-archive .woocommerce-products-header,
body.cwps-whole-cakes-archive .woocommerce-notices-wrapper,
body.cwps-whole-cakes-archive .woocommerce-result-count,
body.cwps-whole-cakes-archive .woocommerce-ordering,
body.cwps-whole-cakes-archive .woocommerce ul.products,
body.cwps-whole-cakes-archive .woocommerce .products {
  font-family: var(--cwps-cake-font) !important;
}
body.cwps-whole-cakes-archive .woocommerce-products-header__title,
body.cwps-whole-cakes-archive .woocommerce-products-header h1,
body.cwps-whole-cakes-archive main h1.page-title,
body.cwps-whole-cakes-archive .site-main h1.entry-title,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product h2,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product h3,
body.cwps-whole-cakes-archive .woolentor-products .ht-product-title,
body.cwps-whole-cakes-archive .woolentor-products .ht-product-title a,
body.cwps-whole-cakes-archive .ht-products .ht-product-title,
body.cwps-whole-cakes-archive .ht-products .ht-product-title a {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive ul.products li.product .woocommerce-loop-product__title,
body.cwps-whole-cakes-archive ul.products li.product .woocommerce-loop-product__title a,
body.cwps-whole-cakes-archive ul.products li.product h2 a,
body.cwps-whole-cakes-archive ul.products li.product h3 a {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive .woocommerce ul.products li.product .price,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product .price .amount,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product .price ins,
body.cwps-whole-cakes-archive .woolentor-products .price,
body.cwps-whole-cakes-archive .ht-products .price,
body.cwps-whole-cakes-archive .wc-block-grid__product-price,
body.cwps-whole-cakes-archive .wc-block-components-product-price {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive ul.products li.product .price,
body.cwps-whole-cakes-archive ul.products li.product .price .amount {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive .woocommerce .woocommerce-breadcrumb,
body.cwps-whole-cakes-archive .woocommerce .woocommerce-breadcrumb a,
body.cwps-whole-cakes-archive .woocommerce-result-count,
body.cwps-whole-cakes-archive .term-description,
body.cwps-whole-cakes-archive .term-description p {
  color: var(--cwps-cake-muted) !important;
}
body.cwps-whole-cakes-archive .woocommerce ul.products li.product,
body.cwps-whole-cakes-archive .woolentor-products .product,
body.cwps-whole-cakes-archive .ht-products .product {
  border-color: var(--cwps-cake-line) !important;
}
body.cwps-whole-cakes-archive .woocommerce ul.products li.product img,
body.cwps-whole-cakes-archive .woolentor-products .product img,
body.cwps-whole-cakes-archive .ht-products .product img {
  border-radius: var(--cwps-cake-radius);
}

/* Some Whole Cakes archives are built with blocks or WooLentor rather than
   WooCommerce's classic ul.products. Cover their names, prices and actions too. */
body.cwps-whole-cakes-archive .wc-block-grid__product-title,
body.cwps-whole-cakes-archive .wc-block-components-product-name,
body.cwps-whole-cakes-archive .woolentor-products .product-title a,
body.cwps-whole-cakes-archive .ht-products .product-title a {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive .woocommerce ul.products li.product a.button,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product button.button,
body.cwps-whole-cakes-archive .woocommerce nav.woocommerce-pagination .page-numbers.current,
body.cwps-whole-cakes-archive .woolentor-products a.button,
body.cwps-whole-cakes-archive .ht-products a.button,
body.cwps-whole-cakes-archive .wc-block-components-product-button .wp-block-button__link,
body.cwps-whole-cakes-archive .wc-block-grid__product-add-to-cart .wp-block-button__link {
  background: var(--cwps-cake-accent) !important;
  border-color: var(--cwps-cake-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
body.cwps-whole-cakes-archive ul.products li.product a.button,
body.cwps-whole-cakes-archive ul.products li.product button.button {
  background: var(--cwps-cake-accent) !important;
  border-color: var(--cwps-cake-accent) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
body.cwps-whole-cakes-archive .woocommerce ul.products li.product a.button:hover,
body.cwps-whole-cakes-archive .woolentor-products a.button:hover,
body.cwps-whole-cakes-archive .ht-products a.button:hover {
  filter: brightness(.88);
}
body.cwps-whole-cakes-archive .woocommerce span.onsale,
body.cwps-whole-cakes-archive .woocommerce ul.products li.product .onsale {
  background: var(--cwps-cake-accent) !important;
  color: #fff !important;
}
body.cwps-whole-cakes-archive .woocommerce nav.woocommerce-pagination a.page-numbers {
  color: var(--cwps-cake-accent) !important;
  border-color: var(--cwps-cake-line) !important;
}
body.cwps-whole-cakes-archive .woocommerce-ordering select {
  color: var(--cwps-cake-text) !important;
  border-color: var(--cwps-cake-line) !important;
  background-color: var(--cwps-cake-surface) !important;
}

/* The custom single-product template previously had hard-coded crimson values.
   Whole Cakes now picks up the exact same chosen accent as the checkout. */
body.cwps-whole-cakes-product .cwps-summary h1,
body.cwps-whole-cakes-product .cwps-related-title h2,
body.cwps-whole-cakes-product .cwps-product-card h3,
body.cwps-whole-cakes-product .cwps-price .price,
body.cwps-whole-cakes-product .cwps-price .amount,
body.cwps-whole-cakes-product .cwps-product-card-price,
body.cwps-whole-cakes-product .cwps-cake-decor-note strong {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-product .cwps-short-description,
body.cwps-whole-cakes-product .cwps-short-description p,
body.cwps-whole-cakes-product .cwps-cake-decor-note {
  color: var(--cwps-cake-text) !important;
}
body.cwps-whole-cakes-product .cwps-breadcrumb,
body.cwps-whole-cakes-product .cwps-breadcrumb a,
body.cwps-whole-cakes-product .cwps-summary .woocommerce-review-link {
  color: var(--cwps-cake-muted) !important;
}
body.cwps-whole-cakes-product .cwps-category,
body.cwps-whole-cakes-product .cwps-purchase .single_add_to_cart_button,
body.cwps-whole-cakes-product .cwps-round-link,
body.cwps-whole-cakes-product .cwps-toast {
  background: var(--cwps-cake-accent) !important;
  color: #fff !important;
}
body.cwps-whole-cakes-product .cwps-category a {
  color: #fff !important;
}
body.cwps-whole-cakes-product .cwps-gallery .flex-control-thumbs img.flex-active,
body.cwps-whole-cakes-product .cwps-gallery .flex-control-thumbs img:hover,
body.cwps-whole-cakes-product .cwps-purchase .variations select:focus {
  border-color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-product .cwps-purchase .variations select,
body.cwps-whole-cakes-product .cwps-purchase .quantity .qty,
body.cwps-whole-cakes-product .cwps-qty-button,
body.cwps-whole-cakes-product .cwps-purchase .variations label {
  color: var(--cwps-cake-text) !important;
}
body.cwps-whole-cakes-product .cwps-product-card,
body.cwps-whole-cakes-product .cwps-purchase .variations select {
  border-color: var(--cwps-cake-line) !important;
}
body.cwps-whole-cakes-product .cwps-product-card,
body.cwps-whole-cakes-product .cwps-purchase .variations select {
  background-color: var(--cwps-cake-surface) !important;
}

/* The 48-hour notice must match on category and single-product screens. */
body.cwps-whole-cakes-archive .cwps-order-lead-notice,
body.cwps-whole-cakes-product .cwps-order-lead-notice {
  border-color: var(--cwps-cake-line) !important;
  background: var(--cwps-cake-tint) !important;
  color: var(--cwps-cake-text) !important;
  font-family: var(--cwps-cake-font) !important;
  border-radius: var(--cwps-cake-radius) !important;
}
body.cwps-whole-cakes-archive .cwps-order-lead-notice .cwps-notice-step,
body.cwps-whole-cakes-product .cwps-order-lead-notice .cwps-notice-step {
  background: var(--cwps-cake-accent) !important;
  color: #fff !important;
}
body.cwps-whole-cakes-archive .cwps-order-lead-notice .cwps-notice-item p,
body.cwps-whole-cakes-product .cwps-order-lead-notice .cwps-notice-item p {
  color: var(--cwps-cake-text) !important;
}
body.cwps-whole-cakes-archive .cwps-order-lead-notice .cwps-notice-item strong,
body.cwps-whole-cakes-product .cwps-order-lead-notice .cwps-notice-item strong {
  color: var(--cwps-cake-accent) !important;
}

/* Custom taxonomy-product_cat.php layouts may not contain WooCommerce classes.
   The companion script identifies the actual hero, product cards and black
   action controls by their content and layout, then applies these classes. */
body.cwps-whole-cakes-archive .cwps-cake-archive-heading {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive .cwps-cake-archive-promo {
  background: linear-gradient(107deg,
    color-mix(in srgb, var(--cwps-cake-accent) 84%, #390f1b) 0%,
    var(--cwps-cake-accent) 45%,
    var(--cwps-cake-tint) 100%) !important;
  border-color: var(--cwps-cake-line) !important;
}
body.cwps-whole-cakes-archive .cwps-cake-archive-promo :is(h1,h2,h3,h4,p,small,strong,span) {
  color: #fff !important;
}
body.cwps-whole-cakes-archive .cwps-cake-archive-card {
  background: var(--cwps-cake-surface) !important;
  border-color: var(--cwps-cake-line) !important;
}
body.cwps-whole-cakes-archive .cwps-cake-archive-card :is(h2,h3,h4),
body.cwps-whole-cakes-archive .cwps-cake-archive-card :is(h2,h3,h4) a,
body.cwps-whole-cakes-archive .cwps-cake-archive-card .cwps-cake-archive-name,
body.cwps-whole-cakes-archive .cwps-cake-archive-card .cwps-cake-archive-price,
body.cwps-whole-cakes-archive .cwps-cake-archive-card [class*="product-name"],
body.cwps-whole-cakes-archive .cwps-cake-archive-card [class*="product-title"] {
  color: var(--cwps-cake-accent) !important;
}
body.cwps-whole-cakes-archive .cwps-cake-archive-card [class*="category"],
body.cwps-whole-cakes-archive .cwps-cake-archive-card [class*="eyebrow"] {
  color: var(--cwps-cake-muted) !important;
}
body.cwps-whole-cakes-archive .cwps-cake-colored-action,
body.cwps-whole-cakes-archive .cwps-cake-archive-card :is(a.add_to_cart_button,a.ajax_add_to_cart,button[type="submit"]) {
  background: var(--cwps-cake-accent) !important;
  background-image: none !important;
  border-color: var(--cwps-cake-accent) !important;
  color: #fff !important;
}
body.cwps-whole-cakes-archive .cwps-cake-colored-action:hover,
body.cwps-whole-cakes-archive .cwps-cake-archive-card :is(a.add_to_cart_button,a.ajax_add_to_cart,button[type="submit"]):hover {
  filter: brightness(.88);
}
body.cwps-whole-cakes-archive .cwps-cake-colored-action :is(i,svg,span) {
  color: #fff !important;
}
