/* Colour layer only: preserve the installed theme's layout, type and spacing. */
body.hh-brand-colours {
  --hh-blue:#007098;
  --hh-teal:#007098;
  --hh-green:#007098;
  --hh-primary:#007098;
  --hh-forest:#10384d;
  --hh-deep:#10384d;
  --hh-gold:#f7bd1c;
  --hh-yellow:#f7bd1c;
  --hh-accent:#f7bd1c;
  --hh-cream:#ffffff;
  --hh-paper:#ffffff;
  --hh-ink:#183544;
  --hh-muted:#4d6472;
  --hh-line:#cbdce5;
  --hh-soft:#edf6fa;
  --wp--preset--color--teal:#007098;
  --wp--preset--color--green:#007098;
  --wp--preset--color--forest:#10384d;
  --wp--preset--color--deep:#10384d;
  --wp--preset--color--gold:#f7bd1c;
  --wp--preset--color--cream:#ffffff;
  --wp--preset--color--paper:#ffffff;
  --wp--preset--color--soft:#edf6fa;
  background-color:#ffffff;
  color:var(--hh-ink);
  accent-color:var(--hh-blue);
}

/* Header, navigation, footer and homepage bands. */
body.hh-brand-colours .hh-announcement { background:var(--hh-blue);color:#ffffff; }
body.hh-brand-colours .hh-header { background:#ffffff;color:var(--hh-deep);border-color:var(--hh-line); }
body.hh-brand-colours .hh-menu .sub-menu { background:#ffffff;color:var(--hh-deep);border-color:var(--hh-line); }
body.hh-brand-colours .hh-menu a:hover,
body.hh-brand-colours .hh-menu .current-menu-item>a { color:var(--hh-blue);text-decoration-color:var(--hh-blue); }
body.hh-brand-colours .hh-basket { border-color:var(--hh-blue);color:var(--hh-deep); }
body.hh-brand-colours .hh-basket:hover { background:var(--hh-soft); }
body.hh-brand-colours .hh-cart-count { background:var(--hh-yellow);color:var(--hh-deep); }
body.hh-brand-colours .hh-menu-toggle { background:#ffffff;color:var(--hh-deep);border-color:#6c8493; }
body.hh-brand-colours .hh-hero-copy,
body.hh-brand-colours .hh-service-strip { background:#ffffff;color:var(--hh-ink); }
body.hh-brand-colours .hh-hero-art { background:#dceef6; }
body.hh-brand-colours .hh-photo-caption { background:#ffffff;color:var(--hh-deep); }
body.hh-brand-colours .hh-catalogue-section { background:var(--hh-soft); }
body.hh-brand-colours .hh-category-image { background:#edf6fa; }
body.hh-brand-colours .hh-category:nth-child(2n) .hh-category-image { background:#fff4cd; }
body.hh-brand-colours .hh-category:nth-child(3n) .hh-category-image { background:#dceef6; }
body.hh-brand-colours .hh-category-monogram { color:var(--hh-blue); }
body.hh-brand-colours .hh-delivery { background:var(--hh-deep);color:#ffffff; }
body.hh-brand-colours .hh-delivery h2,
body.hh-brand-colours .hh-delivery h3 { color:#ffffff; }
body.hh-brand-colours .hh-delivery p:not(.hh-eyebrow) { color:#e0eff6; }
body.hh-brand-colours .hh-service-step>span { color:var(--hh-yellow); }
body.hh-brand-colours .hh-footer { background:var(--hh-deep);color:#ffffff;border-color:var(--hh-blue); }
body.hh-brand-colours .hh-footer a,
body.hh-brand-colours .hh-footer h2,
body.hh-brand-colours .hh-footer h3,
body.hh-brand-colours .hh-footer-name,
body.hh-brand-colours .hh-footer-heading,
body.hh-brand-colours .hh-footer p { color:#ffffff; }
body.hh-brand-colours .hh-footer a:hover { color:var(--hh-yellow); }
body.hh-brand-colours .hh-footer-bottom { border-color:#557d91; }
/* Legacy illustration fallback, shown only when no hero photograph is set. */
body.hh-brand-colours .hh-landscape { background:linear-gradient(155deg,#edf6fa,#c4e1ee); }
body.hh-brand-colours .hh-landscape-hill-back { background:#8ebbd0; }
body.hh-brand-colours .hh-landscape-hill-front { background:#24627e; }
body.hh-brand-colours .hh-landscape-barn { background:#fff4cd; }
body.hh-brand-colours .hh-landscape-barn span,
body.hh-brand-colours .hh-landscape-barn span::before { background:#10384d; }

/* Primary blue actions; yellow accents always use dark, readable text. */
body.hh-brand-colours :is(.hh-button,button[type=submit],input[type=submit],.wp-element-button,.wp-block-button__link),
body.hh-brand-colours #respond input#submit,
body.hh-brand-colours :is(.button,.button.alt) {
  background:var(--hh-blue);border-color:var(--hh-blue);color:#ffffff;
}
body.hh-brand-colours :is(.hh-button,button[type=submit],input[type=submit],.wp-element-button,.wp-block-button__link):hover,
body.hh-brand-colours #respond input#submit:hover,
body.hh-brand-colours :is(.button,.button.alt):hover {
  background:var(--hh-deep);border-color:var(--hh-deep);color:#ffffff;
}
body.hh-brand-colours .hh-button.hh-button-outline { background:transparent;border-color:var(--hh-blue);color:var(--hh-blue); }
body.hh-brand-colours .hh-button.hh-button-outline:hover { background:var(--hh-blue);border-color:var(--hh-blue);color:#ffffff; }
body.hh-brand-colours .hh-button.hh-button-gold,
body.hh-brand-colours .hh-hero .hh-button:not(.hh-button-outline),
body.hh-brand-colours :is(.single_add_to_cart_button,#place_order,.checkout-button),
body.hh-brand-colours span.onsale { background:var(--hh-yellow);border-color:var(--hh-yellow);color:var(--hh-deep); }
body.hh-brand-colours .hh-button.hh-button-gold:hover,
body.hh-brand-colours .hh-hero .hh-button:not(.hh-button-outline):hover,
body.hh-brand-colours :is(.single_add_to_cart_button,#place_order,.checkout-button):hover { background:#ffd45c;border-color:#ffd45c;color:var(--hh-deep); }
body.hh-brand-colours :is(button.button:disabled,button.button:disabled[disabled],button.button.disabled,button#place_order:disabled,button#place_order.disabled) { background:#e1eaf0;border-color:#6c8493;color:#4d6472; }

/* Product, basket and checkout surfaces; preserve the theme's layout fixes. */
body.hh-brand-colours ul.products li.product,
body.hh-brand-colours.woocommerce-page ul.products li.product { background:#ffffff;border-color:var(--hh-line); }
body.hh-brand-colours ul.products li.product a img { background:#ffffff; }
body.hh-brand-colours .price,
body.hh-brand-colours div.product .stock { color:var(--hh-deep); }
body.hh-brand-colours .star-rating { color:#8a6300; }
body.hh-brand-colours div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color:var(--hh-blue); }
body.hh-brand-colours.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color:var(--hh-blue); }
body.hh-brand-colours table.shop_table th { background:var(--hh-soft);color:var(--hh-deep); }
body.hh-brand-colours table.shop_table_responsive tr:nth-child(2n) td { background:#f4f9fc; }
body.hh-brand-colours.woocommerce-checkout #payment,
body.hh-brand-colours .woocommerce #payment { background:var(--hh-soft); }
body.hh-brand-colours.woocommerce-checkout #payment ul.payment_methods { border-color:var(--hh-line); }
body.hh-brand-colours.woocommerce-checkout #payment div.payment_box { background:#ffffff;color:var(--hh-ink); }
body.hh-brand-colours :is(.woocommerce-info,.woocommerce-message,.hh-access-notice,.hh-approval-notice) { background:#edf6fa;color:var(--hh-ink);border-color:var(--hh-blue); }
body.hh-brand-colours :is(.woocommerce-info,.woocommerce-message)::before { color:var(--hh-blue); }
body.hh-brand-colours input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden])),
body.hh-brand-colours select,
body.hh-brand-colours textarea,
body.hh-brand-colours .select2-container .select2-selection--single,
body.hh-brand-colours form .form-row :is(input.input-text,select,textarea) { background:#ffffff;color:var(--hh-ink);border-color:#6c8493; }
/* Keep real validation errors visibly red. */
body.hh-brand-colours form .form-row.woocommerce-invalid :is(input.input-text,select) { border-color:#b23434; }
body.hh-brand-colours form .form-row.woocommerce-validated :is(input.input-text,select) { border-color:var(--hh-blue); }
body.hh-brand-colours :is(a,button,input,select,textarea,summary):focus-visible { outline-color:var(--hh-blue); }
body.hh-brand-colours :is(.hh-footer,.hh-delivery,.hh-announcement) :is(a,button,input,select,textarea,summary):focus-visible { outline-color:var(--hh-yellow); }
body.hh-brand-colours .page-numbers.current,
body.hh-brand-colours nav.woocommerce-pagination ul li span.current,
body.hh-brand-colours nav.woocommerce-pagination ul li a:hover { background:var(--hh-blue);color:#ffffff; }

/* Core cart/checkout blocks inherit the same brand, if used by the site. */
body.hh-brand-colours .wc-block-components-button:not(.is-link) { background:var(--hh-blue);border-color:var(--hh-blue);color:#ffffff; }
body.hh-brand-colours .wc-block-components-button:not(.is-link):hover { background:var(--hh-deep);border-color:var(--hh-deep);color:#ffffff; }
body.hh-brand-colours .wc-block-components-button:is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button) { background:var(--hh-yellow);border-color:var(--hh-yellow);color:var(--hh-deep); }

/* Resolve saved legacy block palette classes even if user global styles cached them. */
body.hh-brand-colours :is(.has-teal-color,.has-green-color) { color:var(--hh-blue)!important; }
body.hh-brand-colours :is(.has-teal-background-color,.has-green-background-color) { background-color:var(--hh-blue)!important; }
body.hh-brand-colours :is(.has-deep-color,.has-forest-color) { color:var(--hh-deep)!important; }
body.hh-brand-colours :is(.has-deep-background-color,.has-forest-background-color) { background-color:var(--hh-deep)!important; }
body.hh-brand-colours .has-gold-background-color { background-color:var(--hh-yellow)!important;color:var(--hh-deep); }
body.hh-brand-colours :is(.has-cream-background-color,.has-paper-background-color) { background-color:#ffffff!important; }
body.hh-brand-colours .has-soft-background-color { background-color:var(--hh-soft)!important; }

body.hh-brand-colours .wc-block-components-button:is(.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button):hover { background:#ffd45c;border-color:#ffd45c;color:var(--hh-deep); }
body.hh-brand-colours .wc-block-components-button:disabled { background:#e1eaf0;border-color:#6c8493;color:#4d6472; }
body.hh-brand-colours .wc-block-components-button:disabled:not(.is-link):hover { background:#e1eaf0;border-color:#6c8493;color:#4d6472; }
body.hh-brand-colours .wp-block-button__link:is(.has-gold-background-color,.has-yellow-background-color) { background-color:var(--hh-yellow)!important;color:var(--hh-deep)!important; }
