/* ==========================================================
   WooFood Theme 3.5.47 — WooCommerce Cart Block
   ==========================================================
   Princípio desta folha:
   - preserva o Cart Block e aplica apenas ajustes visuais controlados;
   - desktop mantém a tabela; mobile preserva a composição aprovada em grid responsivo;
   - shell, resumo, cupom, CTA, aviso e sticky seguem o WooFood;
   - conteúdo dinâmico de entrega continua vindo do Core via Slot/Fill.
   ========================================================== */

/* ----------------------------------------------------------
   Shell / container dinâmico
   ---------------------------------------------------------- */
body.woocommerce-cart.woofood-app-theme .content-inner > .container.fb{
  width:100%;
  max-width:var(--woofood-container-width,1180px);
}

body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart{
  width:100%;
  max-width:100%;
  min-width:0;
  margin-inline:0;
  --wc-form-border-color:var(--woofood-border);
  --wc-form-border-radius:var(--woofood-button-radius);
  --woofood-cart-summary-gutter:16px;
  container:woofood-cart / inline-size;
}

body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart.alignfull{
  max-width:100% !important;
  margin-inline:0 !important;
}

/* ----------------------------------------------------------
   Produtos / tabela
   ----------------------------------------------------------
   Desktop preserva a tabela nativa. No mobile, a linha usa flex-wrap com
   imagem + produto + total na mesma faixa sempre que houver espaço; as ações
   continuam dentro do conteúdo do produto e quebram naturalmente.
   ---------------------------------------------------------- */
body.woocommerce-cart.woofood-app-theme .wc-block-cart-items{
  width:100%;
  border-collapse:separate !important;
  border-spacing:0 !important;
  background:var(--woofood-surface);
  overflow:hidden;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart-items tbody tr:last-child > td{
  border-bottom:0 !important;
}

/* Nomes clicáveis e itens personalizados compartilham a cor real do texto. */
body.woocommerce-cart.woofood-app-theme .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart.woofood-app-theme .wc-block-cart-item__product a.wc-block-components-product-name,
body.woocommerce-cart.woofood-app-theme .woocommerce-cart-form__cart-item .product-name a{
  color:var(--woofood-text) !important;
  text-decoration:none;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart-item__product .wc-block-components-product-name:hover,
body.woocommerce-cart.woofood-app-theme .wc-block-cart-item__product .wc-block-components-product-name:focus-visible,
body.woocommerce-cart.woofood-app-theme .woocommerce-cart-form__cart-item .product-name a:hover,
body.woocommerce-cart.woofood-app-theme .woocommerce-cart-form__cart-item .product-name a:focus-visible{
  color:var(--primary-hover) !important;
}

/* Total do item com um pouco mais de presença, sem alterar sua lógica. */
body.woocommerce-cart.woofood-app-theme .wc-block-cart-item__total .wc-block-components-product-price{
  font-size:1rem !important;
  font-weight:600 !important;
  line-height:1.4 !important;
}

/* Quantity selector acompanha o raio dinâmico configurado no WooFood. */
body.woocommerce-cart.woofood-app-theme .wc-block-components-quantity-selector{
  border-radius:var(--woofood-button-radius) !important;
  overflow:hidden;
}

body.woocommerce-cart.woofood-app-theme .wc-block-components-quantity-selector__input{
  border-radius:0 !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-components-quantity-selector__button:focus,
body.woocommerce-cart.woofood-app-theme .wc-block-components-quantity-selector__button:focus-visible,
body.woocommerce-cart.woofood-app-theme .wc-block-components-quantity-selector__button:active{
  box-shadow:none !important;
}

.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ----------------------------------------------------------
   Sidebar / Total no carrinho
   ---------------------------------------------------------- */
body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar{
  --woofood-cart-summary-gutter:.75rem;
  min-width:0;
  box-sizing:border-box;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block{
  padding-top:0 !important;
  padding-right:0 !important;
  padding-bottom:0 !important;
  border:1px solid var(--woofood-border) !important;
  border-radius:var(--woofood-card-radius) !important;
  background:var(--woofood-surface) !important;
  color:var(--woofood-text) !important;
  box-shadow:none !important;
  box-sizing:border-box;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block{
  padding:0 !important;
  border:1px solid var(--woofood-border) !important;
  border-radius:var(--woofood-card-radius) !important;
  background:var(--woofood-surface) !important;
  color:var(--woofood-text) !important;
  box-shadow:none !important;
  box-sizing:border-box;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block:focus-within,
body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block:focus-within{
  border-color:var(--woofood-border-hover) !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__totals-title{
  display:block !important;
  visibility:visible !important;
  position:static !important;
  width:auto !important;
  height:auto !important;
  overflow:visible !important;
  clip:auto !important;
  clip-path:none !important;
  white-space:normal !important;
  padding:0 1rem !important;
  border:0 !important;
  color:var(--woofood-heading) !important;
  font-size:var(--wp--preset--font-size--medium,22px) !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  margin:16px 0 8px 16px !important;
  text-transform:capitalize;
}

/* Mesmo gutter lateral do resumo aprovado do checkout. */
body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar :where(
  .wc-block-components-totals-wrapper,
  .wc-block-components-totals-item,
  .wc-block-cart__submit-container
){
  padding-left:var(--woofood-cart-summary-gutter) !important;
  padding-right:var(--woofood-cart-summary-gutter) !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-coupon{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-wrapper .wc-block-components-totals-item{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Mantém espaçamento uniforme dentro dos fills do resumo do carrinho. */
body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-wrapper.slot-wrapper > * > *{
  padding:1rem !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-footer-item{
  border-color:var(--woofood-border) !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-item__label{
  color:var(--woofood-text);
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar .wc-block-components-totals-item__value{
  color:var(--woofood-heading);
}

/* ----------------------------------------------------------
   Cupom / campos / botões
   ---------------------------------------------------------- */
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]){
  border:1px solid var(--woofood-border) !important;
  border-radius:var(--woofood-button-radius) !important;
  background:var(--woofood-surface) !important;
  box-shadow:none !important;
  outline:0 !important;
  transition:border-color .18s ease,box-shadow .18s ease;
}

body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):hover{
  border-color:var(--woofood-border-hover) !important;
}

body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):focus,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart .wc-block-components-text-input input:not([type="checkbox"]):not([type="radio"]):focus-visible{
  border-color:var(--woofood-border-hover) !important;
  box-shadow:var(--woofood-focus-ring) !important;
}

/* Não redefine a cor do Aplicar: herda o mesmo componente/estado do checkout. */
body.woocommerce-cart.woofood-app-theme .wc-block-components-totals-coupon__button{
  border-radius:var(--woofood-button-radius) !important;
  transform:none !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-components-totals-coupon__button:focus-visible{
  outline:0 !important;
  box-shadow:var(--woofood-focus-ring) !important;
}

/* Recomendações do Cart Block e blocos legados usam a identidade da loja. */
body.woocommerce-cart.woofood-app-theme .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-button__button,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-product-button .wp-element-button,
body.woocommerce-cart.woofood-app-theme .cross-sells a.button{
  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;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;
}

body.woocommerce-cart.woofood-app-theme .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.woocommerce-cart.woofood-app-theme .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-button__button:hover,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-button__button:focus-visible,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-product-button .wp-element-button:hover,
body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-product-button .wp-element-button:focus-visible,
body.woocommerce-cart.woofood-app-theme .cross-sells a.button:hover,
body.woocommerce-cart.woofood-app-theme .cross-sells a.button:focus-visible{
  border-color:var(--primary-hover) !important;
  background:var(--primary-hover) !important;
  color:var(--woofood-on-primary-hover) !important;
}

/* CTA principal mantém a cor semântica do checkout. */
body.woocommerce-cart.woofood-app-theme .wc-block-cart__submit-button{
  border:1px solid var(--woofood-success) !important;
  border-radius:var(--woofood-button-radius) !important;
  background:var(--woofood-success) !important;
  color:var(--woofood-on-success) !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__submit-button:hover{
  border-color:color-mix(in srgb,var(--woofood-success) 86%,#000) !important;
  background:color-mix(in srgb,var(--woofood-success) 86%,#000) !important;
  color:var(--woofood-on-success) !important;
  transform:none !important;
}

body.woocommerce-cart.woofood-app-theme .wc-block-cart__submit-button:focus-visible{
  outline:0 !important;
  box-shadow:var(--woofood-focus-ring) !important;
}

/* ----------------------------------------------------------
   Aviso de entrega — conteúdo real renderizado pelo Core
   ---------------------------------------------------------- */
body.woocommerce-cart.woofood-app-theme.woofood-cart-delivery-notice-enabled .wp-block-woocommerce-cart-order-summary-shipping-block{
  display:none;
}

body.woocommerce-cart.woofood-app-theme .woofood-cart-delivery-notice{
  margin:0;
  padding:1rem 0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  background:var(--woofood-surface-soft);
  color:var(--woofood-muted);
  font-size:.875rem;
  line-height:1.45;
}

/* Mesmo ritmo do checkout: .75rem no tablet e 1rem no desktop. */
@media (min-width:992px){
  body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar{
    --woofood-cart-summary-gutter:1rem;
  }
}

/* ----------------------------------------------------------
   Sticky — somente quando a sidebar já está na lateral
   ---------------------------------------------------------- */
@media (min-width:700px){
  body.woocommerce-cart.woofood-app-theme .content-inner,
  body.woocommerce-cart.woofood-app-theme .content-inner > .container.fb,
  body.woocommerce-cart.woofood-app-theme .woofood-wc-box,
  body.woocommerce-cart.woofood-app-theme .woofood-wc-box > .entry-content,
  body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart,
  body.woocommerce-cart.woofood-app-theme .wc-block-components-sidebar-layout{
    overflow:visible !important;
  }
}


@container woofood-cart (max-width:699px){
  body.woocommerce-cart.woofood-app-theme .wc-block-cart__main,
  body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar{
    display:block !important;
    position:static !important;
    top:auto !important;
    margin-left:0 !important;
    padding-left:0 !important;
    transform:none !important;
  }

  body.woocommerce-cart.woofood-app-theme .wc-block-cart__totals-title{
    display:block !important;
    visibility:visible !important;
  }

  /*
   * Mobile: preserva a lógica estrutural do Cart Block e só melhora a
   * distribuição das três células. Produto é a única coluna elástica;
   * imagem e total ocupam somente o espaço necessário.
   */
  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-items__row{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:start;
    column-gap:10px;
    row-gap:0;
    width:100%;
  }

  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-items__row > td{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box;
  }

  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-item__image{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start;
    padding-right:0 !important;
  }

  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-item__image img{
    display:block;
    width:clamp(56px,17vw,68px) !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:var(--woofood-button-radius);
  }

  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-item__product{
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    padding:0 !important;
    overflow-wrap:anywhere;
  }

  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-item__total{
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end;
    align-self:start;
    min-width:max-content !important;
    margin:0 !important;
    padding:0 !important;
    text-align:right !important;
    white-space:nowrap;
  }

  /* Quantidade e remover permanecem juntos dentro da coluna do produto. */
  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-item__quantity{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center;
    gap:8px;
    min-width:0;
  }

  .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
  body.woocommerce-cart.woofood-app-theme table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
    display:inline-flex !important;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
  }
}

/* O WooCommerce 10+ já torna Cart/Checkout query containers. */
@container woofood-cart (min-width:700px){
  /*
   * O Cart usa o mesmo desenho 65/35 do checkout. Como o card visual está na
   * própria sidebar, o gutter não pode ser padding interno. Convertemos o
   * mesmo espaço em margem externa e descontamos esse valor da coluna.
   */
  body.woocommerce-cart.woofood-app-theme .wc-block-components-sidebar-layout{
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start;
  }

  body.woocommerce-cart.woofood-app-theme .wc-block-cart__main{
    flex:0 0 65%;
    width:65% !important;
    min-width:0;
  }

  body.woocommerce-cart.woofood-app-theme .wc-block-cart__sidebar{
    --woofood-cart-sidebar-gap:2.2641509434%;
    --woofood-cart-sticky-top:calc(var(--headheight,55px) + 16px);
    flex:0 0 calc(35% - var(--woofood-cart-sidebar-gap));
    width:calc(35% - var(--woofood-cart-sidebar-gap)) !important;
    max-width:calc(35% - var(--woofood-cart-sidebar-gap)) !important;
    min-width:0;
    margin-left:var(--woofood-cart-sidebar-gap) !important;
    padding-left:0 !important;
    position:sticky !important;
    top:var(--woofood-cart-sticky-top) !important;
    align-self:flex-start !important;
    height:max-content;
    min-height:0;
    transform:translateZ(0);
    transition:top .24s var(--woofood-ease,ease);
  }
}

@media (prefers-reduced-motion:reduce){
  body.woocommerce-cart.woofood-app-theme .wp-block-woocommerce-cart *{
    transition:none !important;
  }
}
