/*
 * Food2You site-wide CSS helpers.
 *
 * Moved out of Divi Theme Options (Custom CSS / Integration) to keep Divi saves small.
 */

.tt-required-missing{
  outline:2px solid #e74c3c;
  outline-offset:4px;
  border-radius:3px;
}

/* Hide totals during APF rebuilds WITHOUT collapsing layout */
.tt-total-hidden{
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  /* no height/margin/padding changes */
}

.tt-total-ready {
  transition: opacity 120ms ease;
  opacity: 1 !important;
  pointer-events: auto;
}

/* ==== Migrated from Divi Theme Options > Custom CSS (Food2You) ==== */

/* Global Woo qty input sizing/padding */
body .woocommerce div.product form.cart .quantity input.qty,
body .et_pb_wc_add_to_cart .quantity input.qty,
body .woocommerce ul.products li.product .quantity input.qty {
  width: 60px !important;
  padding-top: 5px !important;
  padding-right: 0 !important;
  padding-bottom: 5px !important;
  padding-left: 10px !important;
  margin: 0 !important;
  font-size: 14px !important;
}

/* Style View Basket link, when ajax added to basket */
.added_to_cart.wc-forward { display: none !important; }

.woocommerce div.product span.price { color: black; }
.woocommerce div.product form.cart .reset_variations { color: black; font-size: 1em; }

/* Show hamburger menu on desktop ONLY for the Food 2 You app menu */
@media (min-width: 980px) {
  /* hide the normal desktop menu */
  .f2u-app-menu .et_pb_menu__menu { display: none !important; }

  /* show the mobile (burger) menu */
  .f2u-app-menu .et_mobile_nav_menu {
    display: flex !important;
    float: none;
    margin: 0 6px;
    align-items: center;
  }

  .f2u-app-menu .et_mobile_nav_menu li { list-style-type: none; }
}

/* ========= Food 2 You burger dropdown styles ========= */

/* Full dropdown background */
.f2u-app-menu .et_mobile_nav_menu .et_mobile_menu {
  background: #fffdf8;
  padding: 10px 0;
}

/* Each row / menu item */
.f2u-app-menu .et_mobile_nav_menu .et_mobile_menu li {
  border-bottom: 1px solid #f3d0c2;
}

/* Link text */
.f2u-app-menu .et_mobile_nav_menu .et_mobile_menu li a {
  display: block;
  padding: 14px 24px;
  font-size: 18px;
  font-weight: 400;
  color: #a3321a;
}

/* Hover / active state */
.f2u-app-menu .et_mobile_nav_menu .et_mobile_menu li a:hover {
  background: #fde5d9;
  color: #7d2210;
}

/* Optional: alternate row colours */
.f2u-app-menu .et_mobile_nav_menu .et_mobile_menu li:nth-child(even) a {
  background: #fff7ee;
}

/* Slide-up navigation panel */
.food-nav-panel{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;

  /* Sit above sticky toggle bar (adjust if needed) */
  bottom: 64px !important;

  z-index: 99999 !important;
  max-height: 70vh;
  overflow: auto;

  /* Closed by default (do not use display:none - allows animation) */
  transform: translateY(120%) !important;
  opacity: 0 !important;
  pointer-events: none !important;

  transition: transform 240ms ease, opacity 240ms ease !important;
  will-change: transform, opacity;

  padding: 40px 20px 30px;
}

/* When open */
.food-nav-panel.is-open{
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* When closed */
.food-nav-panel:not(.is-open){
  transform: translateY(120%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* X close button – position only, style in Divi */
.food-nav-close {
  position: absolute;
  top: 8px;
  right: 16px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  z-index: 10000;
}

/* +/- buttons */
.tt-qty-minus,
.tt-qty-plus {
  border: 1px solid #ccc;
  font-size: 20px;
  padding-bottom: 7px;
  padding-left: 15px;
  padding-right: 15px;
  cursor: pointer;
  background: #f7f7f7;
}

.et_pb_wc_add_to_cart { padding-top: 5px; }
.woocommerce div.product form.cart .variations { margin-bottom: 0px !important; }
.woocommerce div.product form.cart .variations td { padding-bottom: 0px !important; }

.wapf-field-container.wapf-field-checkboxes .wapf-field-label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.f2u-addons-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.9rem;
  border-radius: 5px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  font-size: 14px;
  line-height: 1.2;
}

.wapf-field-container.wapf-field-checkboxes .wapf-field-label:hover .f2u-addons-toggle-btn {
  background: #e2e2e2;
}

.wapf-field-container.wapf-field-checkboxes.f2u-addons-open .f2u-addons-toggle-btn {
  background: #222;
  border-color: #222;
  color: #fff;
}

.woocommerce-error { background: #9e1e0c !important; }

.woocommerce-error a,
.woocommerce-error a:visited,
.woocommerce-error a:hover {
  color: #ffffff !important;
}

.et-pb-contact-message p {
  font-size: 28px;
  line-height: 1.7em;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
  padding: 50px !important;
  border: 2px solid #000000;
  border-radius: 10px;
  background: #000000;
}

/* Force Grand total to be black */
.wapf-product-totals,
.wapf-product-totals .wapf-grand-total,
.wapf-product-totals .amount {
  color: #000 !important;
}


/* Sticky bottom toggle bar */
.food-nav-toggle{
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 100000 !important;
}

/* ------------------------------
 * Cart/Checkout pause notices (shortcode)
 * ------------------------------ */

.f2y-cart-pause-notices{
  width: 100%;
  margin: 0 0 16px 0;
}

.f2y-cart-pause-notices__inner{
  display: block;
}

.f2y-cart-pause-notice{
  padding: 14px 16px;
  border-radius: 10px;
  font-size: 16px;
  line-height: 1.5em;
  border: 2px solid #000;
  background: #000;
  color: #fff;
  margin: 0 0 12px 0;
}

.f2y-cart-pause-notice strong{
  color: #fff;
}

.f2y-cart-pause-notice__mins{
  font-weight: 700;
}

a.checkout-button.f2y-cart-pause-blocked,
.wc-proceed-to-checkout a.checkout-button.f2y-cart-pause-blocked,
#place_order.f2y-cart-pause-blocked{
  pointer-events: none !important;
  opacity: 0.35 !important;
}


/* ==================================================
   Header pin icon + header right-column flex
   (Needed site-wide because the pin lives in the global header)
================================================== */

.f2y-header-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.f2y-header-right .et_pb_module{
  width:auto !important;
  margin:0 !important;
}

.f2y-header-right .f2u-app-menu{
  flex:0 1 auto;
}

.f2y-pin-trigger{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  line-height:1 !important;
  text-decoration:none !important;
}

.f2y-pin-icon{
  width:38px !important;
  height:38px !important;
  display:block !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center bottom !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M3.6 17.8l6.6-2.4 3.8 1.4 3.8-1.4 6.6 2.4v6.6l-6.6-2.4-3.8 1.4-3.8-1.4-6.6 2.4v-6.6z' fill='%23F3F4F6' stroke='%239CA3AF' stroke-width='1.15' stroke-linejoin='round'/%3E%3Cpath d='M10.2 15.4v9.2' stroke='%239CA3AF' stroke-width='1.15'/%3E%3Cpath d='M17.8 15.4v9.2' stroke='%239CA3AF' stroke-width='1.15'/%3E%3Cpath d='M6.8 19.6l3.2-1.3 3.2 1.1-3.2 1.3-3.2-1.1z' fill='%2322C1D6' opacity='.85'/%3E%3Cellipse cx='14' cy='17.9' rx='3.2' ry='1.05' fill='%23000' opacity='.18'/%3E%3Cpath d='M14 2.2c-3.1 0-5.6 2.5-5.6 5.7 0 4.9 5.6 11.3 5.6 11.3s5.6-6.4 5.6-11.3c0-3.2-2.5-5.7-5.6-5.7z' fill='%23a51e12'/%3E%3Ccircle cx='14' cy='8.6' r='1.9' fill='white'/%3E%3C/svg%3E") !important;
}

.f2y-pin-trigger:hover .f2y-pin-icon{
  transform:scale(1.05);
}

/* Close address panel icon */
.f2y-close-address-panel {
  cursor: pointer;
}

.f2y-close-address-panel:hover {
  opacity: 0.7; /* optional visual feedback */
}
/* Address checker panel - hidden by default */
#f2y-address-panel {
  display: none;
}
.cma-top-bar-header{
border:none !important;
}
#autocomplete_cma {
height: 40px;
}

.cma-crosshair {
color: #9E1E0C !important;
}

#cma_address_button {
text-transform: uppercase;
font-weight: 800;
background-color: white;
border-radius: 10px;
border-color: white;
color: #9E1E0C;
}

#cma_delivery_notice {
    text-transform: uppercase;
    font-weight: bold;
    font-size: large;
}

/* ===== Basket: empty cart message + hide Divi empty modules (scoped) ===== */
/* Hide the empty cart totals module (it renders as an empty white block in Divi). */
body.woocommerce-cart .et_pb_wc_cart_totals.et_pb_wc_cart_empty {
  display: none !important;
}

/* Replace the empty Cart Products white bar with a friendly message. */
body.woocommerce-cart .et_pb_wc_cart_products.et_pb_wc_cart_empty {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-cart .et_pb_wc_cart_products.et_pb_wc_cart_empty .et_pb_module_inner {
  background: transparent !important;
  padding: 0 !important;
}

body.woocommerce-cart .et_pb_wc_cart_products.et_pb_wc_cart_empty .et_pb_module_inner:before {
  content: "Your basket is empty… time to add some tasty treats and let us bring them to you.";
  display: block;
  padding: 18px 22px;
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  color: #ffffff;
}

/* F2Y Basket empty state (Divi): ensure empty message is visible and remove empty white blocks */
body.woocommerce-cart .et_pb_module.et_pb_wc_cart_products.et_pb_wc_cart_empty {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  min-height: 0 !important;
  height: auto !important;
}

body.woocommerce-cart .et_pb_module.et_pb_wc_cart_products.et_pb_wc_cart_empty .et_pb_module_inner {
  background: #ffffff !important;
  padding: 18px 22px !important;
  min-height: 0 !important;
}

body.woocommerce-cart .et_pb_module.et_pb_wc_cart_products.et_pb_wc_cart_empty .et_pb_module_inner:before {
  color: #333333 !important;
}

/* Hide the vendor notes text module when the cart products module is in its empty state */
body.woocommerce-cart .et_pb_module.et_pb_wc_cart_products.et_pb_wc_cart_empty + .et_pb_text.vendor_notes_text {
  display: none !important;
}

/* Hide the empty cart totals module (second white bar) */
body.woocommerce-cart .et_pb_module.et_pb_wc_cart_totals.et_pb_wc_cart_empty {
  display: none !important;
}

/* F2Y_BASKET_EMPTY_ROW_START */
/* Basket page - remove Divi empty white bar (row) and display a friendly empty message.
   Uses your Divi row class: .basket_container
   Triggered by body class .f2y-cart-empty (set in f2y-sitewide.js).
*/
body.woocommerce-cart.f2y-cart-empty .basket_container {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;

  /* NEW – centre the row itself */
  max-width: 1080px;
  margin: 0 auto 16px auto !important;
}

/* Hide the empty modules inside the row so the row doesn't render as a blank bar */
body.woocommerce-cart.f2y-cart-empty .basket_container .et_pb_wc_cart_products,
body.woocommerce-cart.f2y-cart-empty .basket_container .et_pb_wc_cart_totals,
body.woocommerce-cart.f2y-cart-empty .basket_container .vendor_notes_text {
  display: none !important;
}

/* Show message in the same spot */
body.woocommerce-cart.f2y-cart-empty .basket_container::before {
  content: "Your basket is empty… time to add some tasty treats and let us deliver them to you.";
  display: block;
  background: #ffffff !important;
  color: #333333 !important;
  padding: 18px 22px;
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  border-radius: 6px;
  max-width: 900px;
  margin: 0 auto 24px auto;
}
/* F2Y_BASKET_EMPTY_ROW_END */

/* change default error message backgroudn colour */
.tt-apf-error {
	background: #9E1E0C !important;
	} 
	
	/* Remove product images from WooCommerce basket/cart */
.woocommerce-cart table.cart img,
.woocommerce-cart .product-thumbnail {
    display: none !important;
}
body.woocommerce-order-received .et_pb_wc_checkout_payment_info .woocommerce-order-details table.woocommerce-table--order-details tfoot tr:last-child {
  display: none !important;
}