/* Applied to live WooCommerce markup; forms, totals and validation stay native. */
body.tf-ui-active {
  --tf-paper: #fffdf8;
  --tf-cream: #f5f0e5;
  --tf-ink: #262322;
  --tf-wine: #762c40;
  --tf-line: #ded5c5;
  --tf-muted: #665e56;
  background-image: none !important;
  background-color: var(--tf-cream) !important;
  color: var(--tf-ink);
}
/* Use the homepage's real logo and quiet navigation on every shop surface. */
body.tf-ui-active .bhfb-desktop .bhfb-main_header_row .bhfb-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(18px, 2vw, 32px);
  max-width: 1240px;
  margin: auto;
  padding: 12px 24px;
}
body.tf-ui-active .bhfb-desktop .bhfb-main_header_row .bhfb-column-1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  flex: 1;
  gap: 18px;
}
body.tf-ui-active .tf-ui-brand { display: inline-flex; align-items: center; flex: none; }
body.tf-ui-active .tf-ui-brand img { display: block; width: 184px; height: auto; max-height: 52px; object-fit: contain; }
body.tf-ui-active .bhfb-desktop #primary-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 18px;
}
body.tf-ui-active .bhfb-desktop #primary-menu a {
  font: 600 13px/1.35 Arial, sans-serif;
  letter-spacing: .01em;
  text-transform: none;
  padding: 8px 0;
}
body.tf-ui-active .bhfb-desktop #primary-menu a:hover,
body.tf-ui-active .bhfb-desktop #primary-menu .current-menu-item > a { color: var(--tf-wine); }
body.tf-ui-active .bhfb-desktop .bhfb-component-woo_icons { display: flex; align-items: center; gap: 10px; }
body.tf-ui-active .bhfb-mobile .bhfb-above_header_row .bhfb-row { display: flex; align-items: center; flex-wrap: nowrap; padding: 10px 16px; }
body.tf-ui-active .bhfb-mobile .tf-ui-brand img { width: clamp(125px, 34vw, 165px); max-height: 44px; }
body.tf-ui-active .bhfb-mobile .bhfb-column { width: auto; min-width: 0; flex: 0 0 auto; }
body.tf-ui-active .bhfb-mobile .bhfb-column-1 { display: none; }
body.tf-ui-active .bhfb-mobile .bhfb-column-2 { margin-left: auto; }
body.tf-ui-active .bhfb-mobile .bhfb-column-3 { margin-left: 8px; }

/* Keep both operational messages readable without a bright fixed overlay. */
body.tf-ui-active .tfk-delivery-banner {
  background: #f4ede2;
  border-bottom: 1px solid var(--tf-line);
  color: var(--tf-ink);
}
body.tf-ui-active .tfk-delivery-banner__inner { max-width: 1240px; margin: auto; padding: 9px 24px; }
body.tf-ui-active .woocommerce-store-notice.demo_store {
  position: relative !important;
  inset: auto !important;
  display: block;
  width: 100%;
  padding: 12px max(24px, calc((100% - 1192px)/2));
  margin: 0;
  background: #efe5df;
  border-bottom: 1px solid #ded0cb;
  color: var(--tf-ink);
  font: 14px/1.55 Arial, sans-serif;
  text-align: left;
  white-space: normal;
  box-shadow: none;
}
body.tf-ui-active .woocommerce-store-notice.demo_store strong { color: var(--tf-wine); }
body.tf-ui-active .woocommerce-store-notice__dismiss-link { display: inline-block; margin-left: 12px; color: var(--tf-wine); font-weight: 700; }
@media (max-width: 1120px) {
  body.tf-ui-active .bhfb-desktop .bhfb-main_header_row .bhfb-row { gap: 12px; }
  body.tf-ui-active .tf-ui-brand img { width: 145px; }
  body.tf-ui-active .bhfb-desktop #primary-menu { gap: 4px 12px; }
  body.tf-ui-active .bhfb-desktop #primary-menu a { font-size: 12px; }
}
body.tf-ui-active .bhfb-header {
  background: rgba(255,253,248,.97);
  box-shadow: 0 1px 0 var(--tf-line);
}
body.tf-ui-active .bhfb-header .bhfb-row-wrapper { background: transparent; }
body.tf-ui-active .bhfb-header a,
body.tf-ui-active .bhfb-header .menu a { color: var(--tf-ink); }
body.tf-ui-active .bhfb-header a:hover,
body.tf-ui-active .bhfb-header a:focus-visible { color: var(--tf-wine); }
body.tf-ui-active .bhfb-footer { background: #eee7da; color: var(--tf-ink); }
body.tf-ui-active .bhfb-footer a { color: var(--tf-wine); }
body.tf-ui-active :is(#primary, #main) { max-width: 1160px; margin: 0 auto; padding: 48px 20px 78px; }
body.tf-ui-active :is(.entry-title, .woocommerce h2, .woocommerce h3, .woocommerce-MyAccount-content h2) {
  font-family: Fraunces, Georgia, serif;
  color: var(--tf-ink);
  font-weight: 500;
  line-height: 1.15;
}
body.tf-ui-active .entry-title { font-size: clamp(36px, 5vw, 56px); margin-bottom: 24px; }
body.tf-ui-active .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields),
body.tf-ui-active .woocommerce-MyAccount-content,
body.tf-ui-active.woocommerce-account .woocommerce :is(#customer_login .u-column1, #customer_login .u-column2) {
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
  padding: clamp(20px, 3vw, 32px);
}
body.tf-ui-active :is(.woocommerce table.shop_table, .woocommerce table.shop_table th, .woocommerce table.shop_table td) {
  border-color: var(--tf-line);
  border-radius: 0;
}
body.tf-ui-active .woocommerce table.shop_table { background: var(--tf-paper); }
body.tf-ui-active .woocommerce table.shop_table :is(th, td) { padding: 16px 14px; }
body.tf-ui-active :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  background: #efe7dd;
  border-color: var(--tf-wine);
  color: var(--tf-ink);
  padding: 18px 22px 18px 42px;
}
body.tf-ui-active :is(.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
  .woocommerce #payment #place_order, .tf-ui-button, .woocommerce-MyAccount-navigation a) {
  border-radius: 0;
  min-height: 48px;
  font-weight: 700;
  line-height: 1.4;
}
body.tf-ui-active :is(.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
  .woocommerce #payment #place_order, .tf-ui-button) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--tf-wine);
  border: 1px solid var(--tf-wine);
  color: white;
  padding: 12px 22px;
  text-decoration: none;
}
body.tf-ui-active :is(.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
  .woocommerce #payment #place_order, .tf-ui-button):hover { background: #5e2132; color: white; }
body.tf-ui-active :is(.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
  .woocommerce #payment #place_order):disabled { opacity: .6; cursor: not-allowed; }
body.tf-ui-active :is(.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
  .woocommerce .select2-container .select2-selection) {
  border: 1px solid #a79b8a;
  border-radius: 0;
  background: white;
  min-height: 48px;
  color: var(--tf-ink);
  padding: 10px 12px;
}
body.tf-ui-active :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #235e7d;
  outline-offset: 3px;
}
body.tf-ui-active .woocommerce-MyAccount-navigation ul { margin: 0 0 22px; padding: 0; list-style: none; }
body.tf-ui-active .woocommerce-MyAccount-navigation a {
  display: block;
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
  padding: 12px 16px;
  color: var(--tf-ink);
  text-decoration: none;
}
body.tf-ui-active .woocommerce-MyAccount-navigation .is-active a {
  border-left: 4px solid var(--tf-wine);
  color: var(--tf-wine);
  font-weight: 700;
}
body.tf-ui-active .woocommerce-MyAccount-content a { color: var(--tf-wine); }
body.tf-ui-active.woocommerce-checkout #customer_details .col-1,
body.tf-ui-active.woocommerce-checkout #customer_details .col-2 {
  min-width: 0;
}
body.tf-ui-active.woocommerce-checkout #order_review_heading { margin-top: 0; }
body.tf-ui-active.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
  width: 100%;
}
body.tf-ui-active.woocommerce-checkout :is(#e_deliverydate_0_field, #orddd_time_slot_0_field) {
  margin: 22px 0;
}
body.tf-ui-active.woocommerce-checkout #payment {
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
}
body.tf-ui-active.woocommerce-checkout #payment .place-order { padding: 18px; }
body.tf-ui-active.woocommerce-cart :is(#e_deliverydate_0_field, #orddd_time_slot_0_field) {
  margin: 20px 0;
}
/* Category and product surfaces share the same palette without replacing WC controls. */
body.tf-ui-active :is(.woocommerce ul.products li.product, .woocommerce-page ul.products li.product) {
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
  padding: 0 0 20px;
  overflow: hidden;
}
body.tf-ui-active .woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0 0 20px;
  object-fit: cover;
}
body.tf-ui-active .woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .price, .button) {
  margin-left: 20px;
  margin-right: 20px;
}
body.tf-ui-active .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tf-ui-active .woocommerce div.product .product_title {
  font-family: Fraunces, Georgia, serif;
  color: var(--tf-ink);
  font-weight: 500;
  line-height: 1.2;
}
body.tf-ui-active .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: clamp(21px, 2vw, 27px); }
body.tf-ui-active .woocommerce :is(ul.products li.product .price, div.product p.price, div.product span.price) {
  color: var(--tf-wine);
  font-weight: 700;
}
body.tf-ui-active .woocommerce div.product div.images img { background: var(--tf-paper); }
body.tf-ui-active .woocommerce div.product .summary,
body.tf-ui-active .woocommerce .woocommerce-tabs {
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
  padding: clamp(20px, 3vw, 30px);
}
body.tf-ui-active .woocommerce div.product form.cart .quantity { margin-right: 12px; }
body.tf-ui-active .woocommerce div.product .woocommerce-tabs ul.tabs li {
  border-color: var(--tf-line);
  background: var(--tf-cream);
}
body.tf-ui-active .woocommerce form .form-row label,
body.tf-ui-active .woocommerce div.product form.cart .variations label { color: var(--tf-ink); font-weight: 700; }
body.tf-ui-active .woocommerce :is(.woocommerce-breadcrumb, .woocommerce-result-count) { color: var(--tf-muted); }
body.tf-ui-active .woocommerce-pagination .page-numbers li :is(a, span) {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  color: var(--tf-wine);
}
body.tf-ui-active .tf-ui-interim {
  max-width: 780px;
  margin: 32px auto 64px;
  padding: clamp(32px, 6vw, 60px);
  text-align: center;
  background: var(--tf-paper);
  border: 1px solid var(--tf-line);
  border-top: 4px solid var(--tf-wine);
}
body.tf-ui-active.tf-ui-builder .entry-header { display: none; }
body.tf-ui-active .tf-ui-interim h2 { font-size: clamp(34px, 5vw, 52px); margin: 12px 0 20px; }
body.tf-ui-active .tf-ui-interim p { font-size: 18px; color: var(--tf-muted); }
body.tf-ui-active .tf-ui-interim .tf-ui-eyebrow { font: 700 12px Arial,sans-serif; letter-spacing: .13em; text-transform: uppercase; color: var(--tf-wine); }
body.tf-ui-active .tf-ui-ornament { display: block; font: 52px Georgia,serif; color: var(--tf-wine); }
body.tf-ui-active .tf-ui-interim-actions { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
body.tf-ui-active .tf-ui-button.tf-ui-outline { background: transparent; color: var(--tf-wine); }
@media (max-width: 760px) {
  body.tf-ui-active :is(#primary, #main) { padding: 30px 14px 56px; }
  body.tf-ui-active .woocommerce table.shop_table :is(th, td) { padding: 10px 8px; }
  body.tf-ui-active .tf-ui-interim-actions .tf-ui-button { width: 100%; }
  body.tf-ui-active .tf-ui-interim { margin-top: 12px; padding: 32px 20px; }
}
