/* WooFood single product — visual layer scoped to product pages.
   Uses only WooFood runtime tokens; no fixed brand colors. */

body.single-product.woofood-app-theme .woofood-product-screen {
  padding: clamp(14px, 2.6vw, 24px) !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product.woofood-app-theme .woofood-product-screen .woofood-page-breadcrumbs {
  margin-bottom: clamp(14px, 2vw, 20px);
}

body.single-product.woofood-app-theme .woofood-product-screen .woocommerce-notices-wrapper:not(:empty) {
  margin-bottom: 18px;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: clamp(18px, 3vw, 32px);
  margin: 0;
  color: var(--woofood-text);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product::before,
body.single-product.woofood-app-theme .woofood-product-screen div.product::after {
  display: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images,
body.single-product.woofood-app-theme .woofood-product-screen div.product div.summary {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images {
  flex: 1 1 360px;
  padding: clamp(12px, 2vw, 18px);
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-card-radius);
  background: var(--woofood-surface);
  box-shadow: var(--woofood-polish-soft-shadow);
  overflow: hidden;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: calc(var(--woofood-card-radius) * .72) !important;
  background: var(--woofood-surface-soft);
  box-shadow: none !important;
  object-fit: contain;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .flex-control-thumbs li {
  float: none;
  width: 66px;
  padding: 3px;
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-button-radius);
  background: var(--woofood-surface);
  overflow: hidden;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .flex-control-thumbs li:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .flex-control-thumbs li:focus-within {
  border-color: var(--woofood-border-hover);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.summary {
  flex: 1 1 420px;
  padding: clamp(18px, 2.6vw, 28px);
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-card-radius);
  background: var(--woofood-surface);
  box-shadow: var(--woofood-polish-soft-shadow);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .product_title {
  margin: 0 0 10px;
  color: var(--woofood-heading) !important;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.025em;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product p.price,
body.single-product.woofood-app-theme .woofood-product-screen div.product span.price,
body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-variation-price {
  color: var(--woofood-primary) !important;
  font-weight: 800;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product p.price,
body.single-product.woofood-app-theme .woofood-product-screen div.product span.price {
  margin: 0 0 12px;
  font-size: clamp(1.18rem, 2.1vw, 1.45rem);
}

body.single-product.woofood-app-theme .woofood-product-screen .woocommerce-product-details__short-description {
  margin-bottom: 18px;
  color: var(--woofood-muted) !important;
  font-size: .96rem;
  line-height: 1.6;
}

body.single-product.woofood-app-theme .woofood-product-screen .woocommerce-product-details__short-description > :last-child {
  margin-bottom: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart {
  margin: 0 0 16px;
  padding: clamp(14px, 2.2vw, 18px) !important;
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-card-radius) !important;
  background: var(--woofood-surface-soft) !important;
  box-shadow: none !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations {
  width: 100%;
  margin: 0 0 14px;
  border: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations tbody,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations tr,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations th,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations th.label {
  margin-bottom: 7px;
  color: var(--woofood-heading);
  font-size: .84rem;
  font-weight: 800;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart table.variations td.value {
  position: relative;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .variations select {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 42px 0 14px !important;
  border: 1px solid var(--woofood-border) !important;
  border-radius: var(--woofood-button-radius) !important;
  background-color: var(--woofood-surface) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--woofood-muted) 50%),
    linear-gradient(135deg, var(--woofood-muted) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 17px) 50%,
    calc(100% - 12px) 50% !important;
  background-size: 5px 5px, 5px 5px !important;
  background-repeat: no-repeat !important;
  color: var(--woofood-text) !important;
  font: inherit;
  font-size: .9rem !important;
  font-weight: 600;
  line-height: normal !important;
  text-indent: 0;
  vertical-align: middle !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .variations select::-ms-expand {
  display: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .variations select:hover {
  border-color: var(--woofood-border-hover) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .variations select:focus-visible {
  border-color: var(--woofood-border-hover) !important;
  outline: 0;
  box-shadow: var(--woofood-focus-ring) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .reset_variations {
  display: inline-flex;
  margin-top: 8px;
  color: var(--woofood-primary);
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .reset_variations:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .reset_variations:focus-visible {
  color: var(--woofood-primary-hover);
  outline: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .single_variation {
  margin: 0 0 12px;
  color: var(--woofood-text);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-variation-description {
  color: var(--woofood-muted);
}

/* WooCommerce variation button: one deterministic flex row.
   Official markup: .woocommerce-variation-add-to-cart.variations_button > .quantity + button + hidden inputs. */
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100%;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button > .quantity,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) > .quantity {
  float: none !important;
  display: flex !important;
  align-items: stretch !important;
  flex: 0 0 108px !important;
  width: 108px !important;
  min-width: 108px !important;
  height: 48px !important;
  margin: 0 !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .quantity .qty {
  box-sizing: border-box;
  display: block !important;
  flex: 1 1 auto;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid var(--woofood-border) !important;
  border-radius: var(--woofood-button-radius) !important;
  background: var(--woofood-surface) !important;
  color: var(--woofood-heading) !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
  line-height: normal !important;
  text-align: center;
  vertical-align: middle;
  box-shadow: none !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .quantity .qty:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .quantity .qty:focus-visible {
  border-color: var(--woofood-border-hover) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .quantity .qty:focus-visible {
  outline: 0;
  box-shadow: var(--woofood-focus-ring) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  flex: 1 1 auto !important;
  width: auto !important;
  height: 48px !important;
  min-height: 48px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid var(--woofood-primary) !important;
  border-radius: var(--woofood-button-radius) !important;
  background: var(--woofood-primary) !important;
  color: var(--woofood-on-primary) !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt:not(.disabled):not(:disabled):hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt:not(.disabled):not(:disabled):focus-visible {
  border-color: var(--woofood-primary-hover) !important;
  background: var(--woofood-primary-hover) !important;
  color: var(--woofood-on-primary-hover) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--woofood-primary-hover) 24%, transparent) !important;
  transform: translateY(-1px);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt:focus-visible {
  outline: 0;
  box-shadow: var(--woofood-focus-ring) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt.disabled,
body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .product_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 4px;
  padding-top: 14px;
  border-top: 1px solid var(--woofood-border);
  color: var(--woofood-muted);
  font-size: .82rem;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .product_meta .sku_wrapper {
  display: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .product_meta a {
  color: var(--woofood-primary);
  font-weight: 800;
  text-decoration: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .product_meta a:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product .product_meta a:focus-visible {
  color: var(--woofood-primary-hover);
  outline: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs,
body.single-product.woofood-app-theme .woofood-product-screen div.product .related,
body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
  margin: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs {
  padding: clamp(16px, 2.5vw, 24px);
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-card-radius);
  background: var(--woofood-surface);
  box-shadow: var(--woofood-polish-soft-shadow);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 3vw, 28px);
  margin: 0 0 18px;
  padding: 0;
  border-bottom: 1px solid var(--woofood-border);
  overflow: visible;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs::before,
body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li {
  position: relative;
  z-index: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li::before,
body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 0 10px;
  border-bottom: 2px solid transparent;
  color: var(--woofood-muted);
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li a:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li a:focus-visible,
body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li.active a {
  border-bottom-color: var(--woofood-primary);
  color: var(--woofood-primary);
  outline: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs .panel {
  margin: 0;
  padding: 0;
  color: var(--woofood-text);
  line-height: 1.65;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs .panel > h2:first-child {
  margin: 0 0 10px;
  color: var(--woofood-heading);
  font-size: clamp(1.12rem, 2vw, 1.3rem);
  font-weight: 800;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs .panel p:last-child {
  margin-bottom: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes {
  margin: 0;
  border: 1px solid var(--woofood-border);
  border-radius: var(--woofood-button-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes th,
body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes td {
  padding: 11px 13px;
  border: 0;
  border-bottom: 1px solid var(--woofood-border);
  background: var(--woofood-surface);
  color: var(--woofood-text);
  font-style: normal;
}

body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes th {
  color: var(--woofood-heading);
  font-weight: 800;
}

body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes tr:last-child th,
body.single-product.woofood-app-theme .woofood-product-screen table.shop_attributes tr:last-child td {
  border-bottom: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .related,
body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells {
  padding-top: clamp(4px, 1vw, 10px);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .related > h2,
body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > h2 {
  margin: 0 0 14px;
  color: var(--woofood-heading);
  font-size: clamp(1.2rem, 2.2vw, 1.55rem);
  font-weight: 800;
}

/* Upsells usam os mesmos cards horizontais da loja, sem margens duplicadas. */
body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > ul.products{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:16px;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > ul.products > .woofood-shop-product{
  flex:0 0 calc((100% - 16px) / 2);
  width:calc((100% - 16px) / 2);
  max-width:calc((100% - 16px) / 2);
  min-width:0;
  margin:0;
  padding:0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > ul.products > .woofood-shop-product > .woofood-item-product{
  width:100%;
  height:100%;
  margin:0 !important;
}

@media (max-width: 767.98px) {
  body.single-product.woofood-app-theme .woofood-product-screen {
    padding: 12px !important;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product {
    gap: 14px;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product div.images,
  body.single-product.woofood-app-theme .woofood-product-screen div.product div.summary {
    flex-basis: 100%;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product div.summary {
    padding: 16px;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart {
    padding: 13px !important;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs {
    padding: 14px;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs {
    gap: 14px;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .woocommerce-tabs ul.tabs li {
    flex: 0 0 auto;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > ul.products{
    gap:12px;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product .upsells > ul.products > .woofood-shop-product{
    flex:0 0 100%;
    width:100%;
    max-width:100%;
  }
}

/* Gallery actions/statuses stay inside the same token system. */
body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__trigger {
  border: 1px solid var(--woofood-border);
  background: var(--woofood-surface) !important;
  color: var(--woofood-heading) !important;
  box-shadow: var(--woofood-polish-soft-shadow);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__trigger:hover,
body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__trigger:focus-visible {
  border-color: var(--woofood-border-hover);
  color: var(--woofood-primary) !important;
  outline: 0;
  box-shadow: var(--woofood-focus-ring);
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__trigger::before {
  border-color: currentColor !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product div.images .woocommerce-product-gallery__trigger::after {
  background: currentColor !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .onsale {
  border-radius: var(--woofood-button-radius) !important;
  background: var(--woofood-primary) !important;
  color: var(--woofood-on-primary) !important;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .stock {
  color: var(--woofood-success) !important;
  font-weight: 800;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .stock.out-of-stock {
  color: var(--woofood-danger) !important;
}

/* Related products reuse the exact Cardápio cards mode. The shop stylesheet owns
   the card layout/columns; the single only removes page-level bottom padding. */
body.single-product.woofood-app-theme .woofood-product-screen div.product .woofood-related-products.woofood-shop-screen {
  padding-bottom: 0;
}

body.single-product.woofood-app-theme .woofood-product-screen div.product .woofood-related-products__list {
  margin-top: 0;
  margin-bottom: 16px;
  row-gap: 16px;
}

@media (max-width: 767.98px) {
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button,
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) {
    gap: 10px !important;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button > .quantity,
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) > .quantity {
    flex-basis: 96px !important;
    width: 96px !important;
    min-width: 96px !important;
  }
}

@media (max-width: 420px) {
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button,
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) {
    flex-direction: row !important;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .woocommerce-variation-add-to-cart.variations_button > .quantity,
  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart:not(.variations_form) > .quantity {
    flex: 0 0 88px !important;
    width: 88px !important;
    min-width: 88px !important;
  }

  body.single-product.woofood-app-theme .woofood-product-screen div.product form.cart .single_add_to_cart_button.button.alt {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0;
  }
}
