/**
 * Carrinho e checkout — alinhamento visual Cacto (Playfair + Poppins, botões ink).
 * Escopo: classes Woo no body + classe do tema (Local by Flywheel / caches podem atrasar body.cacto-*).
 */

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) {
  background-color: var(--cacto-cream, #faf8f4);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .entry-header h1.entry-title,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) h1.wp-block-post-title,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-products-header__title {
  font-family: var(--font-heading, "Playfair Display", Georgia, serif);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--cacto-ink, #111111);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1.15;
  margin-bottom: 1.5rem;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .entry-content,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-post-content {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  :is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .entry-content,
  :is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-post-content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  :is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .entry-content,
  :is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-post-content {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* ── Blocos Woo (cart / checkout) ─────────────────────────────────────── */

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-checkout {
  font-family: var(--font-body, "DM Sans", system-ui, sans-serif);
  color: var(--cacto-ink, #111111);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__main,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-checkout__main {
  padding-top: 0.5rem;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__totals-title,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-cart-order-summary-heading-block,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-checkout-order-summary-heading-block {
  font-family: var(--font-body, "DM Sans", system-ui, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cacto-muted, #6b7280);
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  padding-bottom: 0.75rem;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart-items__header,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart-items__header-row {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cacto-muted, #6b7280);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart-items__row,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-product-metadata {
  border-color: rgba(17, 17, 17, 0.08) !important;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-product-name,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-product-name a {
  font-weight: 600;
  color: var(--cacto-ink, #111111);
  text-decoration: none;
  font-size: 17px !important;
  text-underline-offset: 3px;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-product-name a:hover {
  color: var(--cactus-color, #5c9748);
}

/* Botões primários (prosseguir / finalizar) */
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-button:not(.is-link),
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__submit-button,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-checkout-place-order-button,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-proceed-to-checkout-block a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.625rem 1.25rem !important;
  border-radius: 0 !important;
  border: none !important;
  background-color: var(--cacto-ink, #111111) !important;
  color: var(--cacto-cream, #faf8f4) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.08);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-button:not(.is-link):hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__submit-button:hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-checkout-place-order-button:hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background-color: var(--cactus-color, #5c9748) !important;
  color: var(--cacto-cream, #faf8f4) !important;
  box-shadow: 0 4px 14px rgba(17, 17, 17, 0.12);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__submit-container {
  margin-top: 1.5rem;
}

/* Links tipo «Continuar…» que vêm como is-link */
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-button.is-link {
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--cacto-ink, #111111);
  border-bottom: 2px solid var(--cactus-color, #5c9748);
  border-radius: 0;
  padding: 0.35rem 0;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-button.is-link:hover {
  color: var(--cactus-color, #5c9748);
}

/* Totais / resumo */
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-totals-item__label,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 0.875rem;
  color: var(--cacto-ink, #111111);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--cacto-ink, #111111);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-components-sidebar .wc-block-components-panel__button {
  font-size: 0.8125rem;
  font-weight: 500;
}

/* Formulário clássico (shortcode / template clássico) */
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-cart-form table.shop_table,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-checkout-review-order-table {
  border-radius: 0;
  border-color: rgba(17, 17, 17, 0.1);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-cart-form .button,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-checkout .button,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce #place_order {
  border-radius: 0 !important;
  min-height: 44px;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: var(--cacto-ink, #111111) !important;
  color: var(--cacto-cream, #faf8f4) !important;
  border: none !important;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-cart-form .button:hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce-checkout .button:hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .woocommerce #place_order:hover {
  background-color: var(--cactus-color, #5c9748) !important;
  color: var(--cacto-cream, #faf8f4) !important;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .cart_totals > h2 {
  font-family: var(--font-body, "DM Sans", system-ui, sans-serif);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cacto-muted, #6b7280);
}

/* ── Carrinho vazio (blocos Woo) ─────────────────────────────────────── */

body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .entry-header,
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .entry-content > h1:first-child,
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .wp-block-post-content > h1:first-child,
body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) h1.wp-block-heading.alignwide {
  text-align: center;
}

body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) h1.wp-block-post-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

body.woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) .entry-header .entry-title {
  margin-left: auto;
  margin-right: auto;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block) {
  padding-top: 0.5rem;
  padding-bottom: 2.5rem;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-empty-cart-block {
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 1rem 2.5rem;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__empty-cart__title,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__empty-cart__title.with-empty-cart-icon {
  font-family: var(--font-heading, "Playfair Display", Georgia, serif) !important;
  font-size: clamp(1.35rem, 3.5vw, 1.85rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--cacto-ink, #111111) !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  opacity: 0.28;
  color: var(--cacto-ink, #111111);
  margin-bottom: 1.5rem !important;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-empty-cart-block .has-text-align-center:not(.wc-block-cart__empty-cart__title) {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--cacto-muted, #6b7280);
  margin-top: 0.5rem;
  margin-bottom: 0;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-empty-cart-block .has-text-align-center a,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .cacto-empty-bag-cta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 1.25rem;
  padding: 0.625rem 1.5rem;
  border-radius: 0;
  background-color: var(--cacto-ink, #111111);
  color: var(--cacto-cream, #faf8f4) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(17, 17, 17, 0.08);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-empty-cart-block .has-text-align-center a:hover,
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .cacto-empty-bag-cta__link:hover {
  background-color: var(--cactus-color, #5c9748);
  color: var(--cacto-cream, #faf8f4) !important;
  box-shadow: 0 4px 14px rgba(17, 17, 17, 0.12);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wp-block-woocommerce-cart hr.wp-block-separator {
  margin: 2.25rem auto;
  max-width: 4.5rem;
  border: 0;
  height: 1px;
  background-color: rgba(17, 17, 17, 0.12);
}

/* Sem sugestões / «Novo na loja» no carrinho */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title),
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-products-block,
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-product-collection,
body.woocommerce-cart .wp-block-woocommerce-cart .wp-block-woocommerce-handpicked-products,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-product-template,
body.woocommerce-cart .wp-block-woocommerce-cart ul.wc-block-grid__products {
  display: none !important;
}

/* Carrinho vazio — template clássico */
:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .wc-empty-cart-message {
  max-width: 28rem;
  margin: 2rem auto 3rem;
  padding: 2rem 1rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--cacto-muted, #6b7280);
}

:is(body.woocommerce-cart, body.woocommerce-checkout:not(.woocommerce-order-received), body.cacto-wc-cart-checkout) .return-to-shop .button {
  margin-top: 1.25rem;
}
