/* Shared interface colours. Product swatches and image pixels are untouched. */
html:root {
  --ib-cappuccino: #c8b3a3;
  --ib-cappuccino-hover: #bba18e;
  --ib-accent: #765c4b;
  --ib-accent-border: #a58a76;
  --ib-on-cappuccino: #302720;
  --ib-selection: #f4eee9;
  --ib-focus: #665043;
  --wd-primary-color: var(--ib-accent);
  --btn-accented-bgcolor: var(--ib-cappuccino);
  --btn-accented-bgcolor-hover: var(--ib-cappuccino-hover);
  --btn-accented-color: var(--ib-on-cappuccino);
  --btn-accented-color-hover: var(--ib-on-cappuccino);
  --btn-default-bgcolor: var(--ib-cappuccino);
  --btn-default-bgcolor-hover: var(--ib-cappuccino-hover);
  --btn-default-color: var(--ib-on-cappuccino);
  --btn-default-color-hover: var(--ib-on-cappuccino);
  --wp--preset--color--primary: var(--ib-accent);
}

/* Theme actions, WooCommerce forms and blocks, search and newsletter submits. */
body :is(.btn.btn-color-primary, .btn.btn-color-default, .btn.btn-accent, .btn-accented,
  .woocommerce .button, .woocommerce-mini-cart__buttons .button, .button.wc-forward, a.wc-backward, .single_add_to_cart_button, .checkout-button,
  .wc-block-components-button:not(.is-link), .wp-block-button__link,
  button[type="submit"], input[type="submit"], .ib-apply-filters) {
  --btn-bgcolor: var(--ib-cappuccino);
  --btn-bgcolor-hover: var(--ib-cappuccino-hover);
  --btn-color: var(--ib-on-cappuccino);
  --btn-color-hover: var(--ib-on-cappuccino);
  --wd-action-text-color: var(--ib-on-cappuccino);
  --wd-action-color: var(--ib-on-cappuccino);
  background-color: var(--ib-cappuccino) !important;
  color: var(--ib-on-cappuccino) !important;
}
body :is(.btn.btn-color-primary, .btn.btn-color-default, .btn.btn-accent, .btn-accented,
  .woocommerce .button, .woocommerce-mini-cart__buttons .button, .button.wc-forward, a.wc-backward, .single_add_to_cart_button, .checkout-button,
  .wc-block-components-button:not(.is-link), .wp-block-button__link,
  button[type="submit"], input[type="submit"], .ib-apply-filters):hover {
  background-color: var(--ib-cappuccino-hover) !important;
  color: var(--ib-on-cappuccino) !important;
}
body :is(.btn.btn-color-primary, .btn.btn-color-default, .btn.btn-accent, .btn-accented,
  .woocommerce .button, .woocommerce-mini-cart__buttons .button, .button.wc-forward, a.wc-backward, .single_add_to_cart_button, .checkout-button,
  .wc-block-components-button:not(.is-link), .wp-block-button__link,
  button[type="submit"], input[type="submit"], .ib-apply-filters):focus-visible {
  outline: 2px solid var(--ib-focus);
  outline-offset: 3px;
}
body .btn.btn-color-primary.btn-style-bordered {
  background-color: transparent !important;
  border-color: var(--ib-accent-border);
  color: var(--ib-accent) !important;
}
body .btn.btn-color-primary.btn-style-bordered:hover {
  background-color: var(--ib-selection) !important;
}

/* Prices, badges and active navigation use the readable darker accent. */
body .price, body .price :is(.amount, ins),
body .wc-block-components-product-price__value,
body .wc-block-components-product-price__regular {
  color: var(--ib-accent);
}
body .price del, body .price del .amount {
  color: #8a817a;
}
body :is(.product-label.onsale, .product-label.featured,
  .wd-tools-count, .cart-count, .wishlist-count) {
  background-color: var(--ib-cappuccino);
  color: var(--ib-on-cappuccino);
}
body input:is([type="checkbox"], [type="radio"]) {
  accent-color: var(--ib-accent);
}

/* Embedded reminder forms and CookieYes render their own colours at runtime. */
body button[class*="omnisend-form-"][class*="-action-"] {
  border-color: var(--ib-cappuccino) !important;
}
body .cky-btn:not(.cky-btn-customize) {
  background-color: var(--ib-cappuccino) !important;
  border-color: var(--ib-cappuccino) !important;
  color: var(--ib-on-cappuccino) !important;
}
body .cky-btn:not(.cky-btn-customize):hover {
  background-color: var(--ib-cappuccino-hover) !important;
  border-color: var(--ib-cappuccino-hover) !important;
}
body .cky-btn-customize {
  background-color: transparent !important;
  border-color: var(--ib-accent-border) !important;
  color: var(--ib-accent) !important;
}
body .cky-btn:focus-visible {
  outline: 2px solid var(--ib-focus);
  outline-offset: 3px;
}
body :is(.cky-notice, .cky-preference-center) :is(a, .cky-show-desc-btn) {
  color: var(--ib-accent) !important;
}
body .cky-switch input[type="checkbox"]:checked + i {
  background: var(--ib-accent) !important;
}
body .cky-btn-revisit-wrapper {
  background-color: var(--ib-cappuccino) !important;
}
body .cky-btn-revisit svg path {
  fill: var(--ib-on-cappuccino);
}

/* Ten existing homepage video frames have a hard-coded fuchsia border. */
body .wd-el-video.wd-video-youtube {
  border-color: var(--ib-accent-border) !important;
}
/* These landing-page colours sit beneath an unchanged full-size photograph. */
body :is(.vc_custom_1789974400111, .vc_custom_1789974684243) {
  background-color: var(--ib-accent) !important;
}

/* The custom category/colour/size filter has its own existing accent tokens. */
body .ib-filters {
  --ib-pink: var(--ib-accent);
}
body .ib-filter-chip {
  color: var(--ib-accent);
  background: var(--ib-selection);
  border-color: #decec2;
}
body .ib-colour-option input:checked + .ib-colour-tile,
body .ib-size-option input:checked + span {
  background: var(--ib-selection);
  border-color: var(--ib-accent-border);
}
body .ib-colour-option input:focus-visible + .ib-colour-tile,
body .ib-size-option input:focus-visible + span {
  outline-color: var(--ib-focus);
}

/* Existing custom gift offers share the palette, including their glow colour. */
body .wallet-gift-badge {
  color: var(--ib-accent);
  border-color: var(--ib-accent-border);
}
body .promo-dovana {
  background: var(--ib-selection);
  border-color: var(--ib-accent-border);
  animation-name: ibCappuccinoPromoGlow;
}
body :is(.promo-title, .promo-from) {
  color: var(--ib-accent);
}
@keyframes ibCappuccinoPromoGlow {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(118,92,75,0); }
  50% { transform: scale(1.015); box-shadow: 0 8px 22px rgba(118,92,75,.15); }
}
@media (prefers-reduced-motion: reduce) {
  body .promo-dovana { animation: none; }
}
