/* ═══════════════════════════════════════════════════════════
   MA Masters — woocommerce.css — WooCommerce Blocks + Classic
   Tema escuro: --bg, --t1, --b1, --g, --s1 como base
   v1.13.0 — patch: fix order summary items (thumbnail + price override)
   ═══════════════════════════════════════════════════════════ */

/* ── 1. VARIÁVEIS CSS LOCAL (fallback) ─────────────────────── */

.woocommerce,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  --wc-bg:     var(--bg,      #090909);
  --wc-surf:   var(--s1,      #0f0f0d);
  --wc-border: var(--b1,      #1c1c1a);
  --wc-text:   var(--t1,      #f0efe8);
  --wc-muted:  var(--t3,      #606058);
  --wc-gold:   var(--g,       #b8a07a);
  --wc-input:  var(--s2,      #141412);
  --wc-radius: 10px;
}

/* ── 2. RESET GENÉRICO WC ──────────────────────────────────── */

.woocommerce,
.woocommerce-page,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  background: var(--wc-bg);
  color: var(--wc-text);
  font-family: var(--fb, 'Inter', sans-serif);
}

/* ── 3. INPUTS, LABELS & SELECTS — sem floating labels ────────
   Labels estáticos acima dos campos, placeholders visíveis em itálico.
   Segue o mockup MA Masters v3.
   ─────────────────────────────────────────────────────────────── */

/* Reset global: garantir que nenhum CSS de floating label do tema-mãe
   afecta os labels do checkout */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-country-input,
.wc-block-components-state-input {
  position: static !important;
  display: block !important;
}

/* Labels — estáticos, acima do campo */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.wc-blocks-components-select__label,
.woocommerce label {
  display: block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  transition: none !important;
  pointer-events: auto !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--wc-text, #f0efe8) !important;
  margin-bottom: 6px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  line-height: 1.3 !important;
  order: -1 !important;
}

/* Estado activo/com valor — não mudar nada (não há floating) */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input.has-value label,
.wc-block-components-combobox.is-active label,
.wc-block-components-combobox.has-value label {
  position: static !important;
  transform: none !important;
  font-size: 11px !important;
  color: var(--wc-text, #f0efe8) !important;
  top: auto !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

/* Inputs */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-select select,
.wc-blocks-components-select__select,
.wc-block-components-textarea textarea,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wp-block-woocommerce-checkout input[type="tel"],
.wp-block-woocommerce-checkout input[type="number"],
.wp-block-woocommerce-checkout select {
  display: block !important;
  width: 100% !important;
  background: var(--wc-input, #141412) !important;
  color: var(--wc-text, #f0efe8) !important;
  border: 1px solid var(--wc-border, #252523) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  height: auto !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
  transition: border-color .15s !important;
  line-height: 1.4 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.woocommerce input:focus,
.woocommerce select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-country-input input:focus,
.wc-block-components-state-input input:focus,
.wc-blocks-components-select__select:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus {
  border-color: var(--wc-gold, #b8a07a) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(184,160,122,.12) !important;
}

/* Placeholders — visíveis, itálico, muted */
.woocommerce input::placeholder,
.wc-block-components-text-input input::placeholder,
.wc-block-components-combobox input::placeholder,
.wp-block-woocommerce-checkout input::placeholder {
  color: var(--wc-muted, #606058) !important;
  opacity: 1 !important;
  font-style: italic !important;
}

/* Select — seta custom */
.wc-blocks-components-select__select,
.wc-block-components-select select,
select.wc-block-components-country-input,
.woocommerce select {
  background-image: linear-gradient(45deg, transparent 50%, var(--wc-muted, #606058) 50%),
                    linear-gradient(-45deg, transparent 50%, var(--wc-muted, #606058) 50%) !important;
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
  background-size: 6px 6px !important;
  background-repeat: no-repeat !important;
  padding-right: 40px !important;
}

/* Container do select — flex column para label acima */
.wc-blocks-components-select__container {
  display: flex !important;
  flex-direction: column !important;
  position: static !important;
}
.wc-blocks-components-select__expand {
  display: none !important;
}

/* Erro de validação */
.wc-block-components-validation-error p {
  font-size: 12px !important;
  color: #e57373 !important;
  margin-top: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.wc-block-components-validation-error p::before {
  content: '!' !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  background: #e57373 !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  flex-shrink: 0 !important;
}
.wc-block-components-text-input.has-error input {
  border-color: #e57373 !important;
  background: rgba(229,115,115,.06) !important;
}

/* Help text */
.wc-block-checkout__guest-checkout-notice {
  font-size: 12px !important;
  color: var(--wc-muted) !important;
  margin-top: 8px !important;
  font-style: normal !important;
}
.wc-block-checkout__login-prompt {
  font-size: 12px !important;
  color: var(--wc-gold) !important;
  text-decoration: underline !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  font-family: inherit !important;
}

/* ── 4. BOTÕES ─────────────────────────────────────────────── */

.woocommerce button.button,
.woocommerce input[type="submit"],
.woocommerce a.button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  background: var(--wc-gold) !important;
  color: #0a0a0a !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 15px 28px !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  cursor: pointer !important;
  transition: background .15s !important;
  text-align: center !important;
  text-decoration: none !important;
}

.woocommerce button.button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--g2, #a08c68) !important;
  color: #0a0a0a !important;
}
.wc-block-components-checkout-place-order-button:disabled {
  opacity: .7 !important;
  cursor: wait !important;
}

/* Ghost button — cancelar */
.woocommerce a.button.alt,
.wc-block-components-button.outlined {
  background: transparent !important;
  border: 1px solid var(--wc-border) !important;
  color: var(--wc-muted) !important;
  font-size: 12px !important;
  min-height: auto !important;
  padding: 8px 14px !important;
}

/* ── 7. CHECKOUT BLOCKS — REDESIGN ────────────────────────── */

/* Esconder CTA do header no checkout */
.woocommerce-checkout .site-header__cta {
  display: none !important;
}

/* Wrapper externo */
.wp-block-woocommerce-checkout {
  padding: 0 !important;
  background: var(--wc-bg) !important;
}

/* Cabeçalho da página */
.wc-page-header {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 56px 36px;
  box-sizing: border-box;
}
.wc-page-header .lbl {
  font-size: 11px;
  font-weight: 600;
  color: var(--g, #b8a07a);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.wc-page-header .wc-page-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--t1, #f0efe8) !important;
  letter-spacing: .02em !important;
  margin: 0 !important;
  font-family: var(--fh, 'Horizon', 'Inter', sans-serif) !important;
  /* A Horizon e uma display face caps-only e existe unicamente em Bold
     (assets/fonts/Horizon-Bold.woff2, declarada font-weight: 700).
     Pedir weight 300 / text-transform: none nao produzia minusculas —
     produzia sintese de peso pelo browser. O caps passa a ser intencional. */
  text-transform: uppercase !important;
  border: none !important;
  padding: 0 !important;
}

/* Layout — sidebar-layout container */
.wc-block-components-sidebar-layout.wc-block-checkout,
.wc-block-components-sidebar-layout.wc-block-checkout.is-medium,
.wc-block-components-sidebar-layout.wc-block-checkout.is-small,
.wc-block-components-sidebar-layout.wc-block-checkout.is-large {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 32px !important;
  align-items: start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 56px 80px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Coluna principal */
.wc-block-components-sidebar-layout > .wc-block-components-main {
  min-width: 0 !important;
  width: auto !important;
}

/* Coluna sidebar */
/* O wc-blocks.css atribui uma largura percentual a esta coluna. So estava
   definido min-width, pelo que a percentagem ganhava e o card ficava a
   280px dentro de uma pista de 340px. */
.wc-block-components-sidebar-layout > .wc-block-components-sidebar {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 24px !important;
}

/* Card sidebar */
.wc-block-checkout__sidebar.wc-block-components-sidebar {
  background: var(--wc-surf, #141412) !important;
  border: 1px solid var(--wc-border, #252523) !important;
  border-radius: 12px !important;
  padding: 22px !important;
}

/* Steps */
.wc-block-components-checkout-step {
  padding: 24px 0 !important;
  border-bottom: 1px solid var(--wc-border) !important;
  margin-bottom: 0 !important;
}
.wc-block-components-checkout-step:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.wc-block-components-checkout-step__heading-container {
  margin-bottom: 16px !important;
}
.wc-block-components-checkout-step__heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* Número do step */
.wc-block-components-checkout-step__heading
  .wc-block-components-checkout-step__title::before {
  /* O WC Blocks não injeta o número como elemento separado —
     o número vem do CSS counter que o tema-mãe pode definir.
     Usamos o atributo aria ou simplesmente o número inline do mockup. */
  display: none;
}

/* Título do step */
.wc-block-components-checkout-step__title,
.wc-block-components-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--wc-text) !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

/* Número do step.
   O ::before abaixo ja usava counter(wc-block-checkout-step), mas esse contador
   nunca era declarado — nem aqui nem no wc-blocks.css. Um counter() sobre um
   contador inexistente resolve para 0, e por isso TODOS os passos mostravam "0.".
   O reset vai no container que envolve os passos; o incremento em cada passo
   numerado, por ordem no documento (o bloco do NIF da webdados entra aqui
   naturalmente como passo 3). Passos com display:none nao incrementam. */
.wp-block-woocommerce-checkout-fields-block {
  counter-reset: wc-block-checkout-step !important;
}
.wc-block-components-checkout-step--with-step-number {
  counter-increment: wc-block-checkout-step !important;
}

.wc-block-components-checkout-step--with-step-number
  .wc-block-components-checkout-step__heading-container::before {
  content: counter(wc-block-checkout-step) "." !important;
  font-size: 11px !important;
  color: var(--wc-muted) !important;
  font-weight: 500 !important;
  flex-shrink: 0 !important;
}

/* Link "Iniciar sessão" ao lado do título */
.wc-block-checkout__login-prompt {
  margin-left: auto !important;
}

/* Grelha de campos */
.wc-block-components-address-form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 12px !important;
}

/* Campos full-width */
.wc-block-components-address-form__email,
.wc-block-components-address-form__country,
.wc-block-components-address-form__company,
.wc-block-components-address-form__address_1,
.wc-block-components-address-form__address_2,
.wc-block-components-address-form__phone,
.wc-block-components-address-form__toconline-for-woocommerce-tax_registration_number {
  grid-column: 1 / -1 !important;
}
/* Cidade e código postal — meia largura */
.wc-block-components-address-form__city    { grid-column: 1 / 2 !important; }
.wc-block-components-address-form__postcode { grid-column: 2 / 3 !important; }

/* Espaçamento dentro de cada campo */
.wc-block-components-text-input,
.wc-block-components-combobox,
.wc-block-components-country-input,
.wc-block-components-state-input {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Inputs — order explícito para ficarem após o label no flex */
.wc-block-components-text-input input,
.wc-block-components-combobox input {
  order: 0 !important;
}

/* ── OPÇÕES DE PAGAMENTO ────────────────────────────────────── */

.wc-block-components-radio-control {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--wc-border) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: background .15s !important;
  background: var(--wc-surf) !important;
}
.wc-block-components-radio-control-accordion-option:first-child {
  border-radius: 10px 10px 0 0 !important;
}
.wc-block-components-radio-control-accordion-option:last-child {
  border-radius: 0 0 10px 10px !important;
  border-top: none !important;
}
.wc-block-components-radio-control-accordion-option:only-child {
  border-radius: 10px !important;
}
/* Borda entre opções */
.wc-block-components-radio-control-accordion-option + 
.wc-block-components-radio-control-accordion-option {
  border-top: none !important;
}

.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  background: var(--wc-input) !important;
}

.wc-block-components-radio-control__option {
  padding: 14px 18px !important;
  cursor: pointer !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* O wc-blocks.css poe flex-direction: column neste wrapper. Combinado com
   align-items: center, o label-group (mais estreito que a linha) ficava
   centrado horizontalmente — era esta a causa do logo "centrado", nao o
   justify-content do proprio label. */
.wc-block-components-radio-control__option-layout {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}
.wc-block-components-radio-control__label-group {
  justify-content: flex-start !important;
}

.wc-block-components-radio-control input[type="radio"] {
  position: static !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--wc-gold) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wc-block-components-radio-control__label-group {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Nome do método de pagamento */
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--wc-text) !important;
  flex: 1 !important;
  min-width: 0 !important;
}

/* Ícones dos gateways — img do plugin à direita do nome */
.wc-block-components-payment-method-label--with-icon {
  flex-direction: row !important;
  justify-content: flex-start !important;
}
.wc-block-components-payment-method-label--with-icon img {
  height: 20px !important;
  width: auto !important;
  flex-shrink: 0 !important;
  /* Usar filter para adaptar à cor dark/light */
  filter: none !important;
  opacity: 1 !important;
}

/* Descrição do método */
.wc-block-components-radio-control__description,
.wc-block-components-payment-method-description,
.wc-block-components-radio-control-accordion-content > p,
.wc-block-components-radio-control-accordion-content > div > p {
  font-size: 13px !important;
  color: var(--wc-muted) !important;
  line-height: 1.5 !important;
  padding: 0 18px 14px 46px !important;
  margin: 0 !important;
}

/* Acordeão do MB WAY */
.wc-block-components-radio-control-accordion-content {
  padding: 0 18px 16px !important;
}
.wc-block-components-radio-control-accordion-content 
  .wc-block-components-text-input label,
.wc-block-components-radio-control-accordion-content
  .wc-blocks-components-select__label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--wc-text) !important;
  position: static !important;
  transform: none !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.wc-block-components-radio-control-accordion-content input,
.wc-block-components-radio-control-accordion-content select {
  min-height: 40px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}

/* Checkbox */
.wc-block-components-checkbox input[type="checkbox"] {
  accent-color: var(--wc-gold) !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  font-size: 13px !important;
  color: var(--wc-muted) !important;
  font-weight: 400 !important;
}

/* Termos */
.wc-block-checkout__terms--with-separator {
  border-top: 1px solid var(--wc-border) !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
  font-size: 12px !important;
  color: var(--wc-muted) !important;
  line-height: 1.6 !important;
}
.wc-block-checkout__terms a {
  color: var(--wc-gold) !important;
  text-decoration: underline !important;
}

/* Botão "Cancelar compra"
   Estava fixed + left:50% + translateX(-50%) — ancorado ao centro do
   viewport, exactamente por cima da coluna do formulario. O JS
   (assets/js/woocommerce.js) move-o para dentro de .wc-block-checkout__actions
   e aplica --inline. O estado fixed fica como fallback, encostado ao canto
   inferior direito, fora da coluna de campos. */
.ma-cancel-bar {
  position: fixed;
  bottom: calc(var(--mma-bottom-bar, 0px) + 20px);
  right: 20px;
  z-index: 9000;
}
.ma-cancel-bar--inline {
  position: static;
  right: auto;
  bottom: auto;
  z-index: auto;
  display: block;
  text-align: center;
  margin-top: 14px;
}
.ma-cancel-bar__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  background: rgba(9,9,9,.7);
  border: 1px solid var(--b3, #2e2e2c);
  border-radius: var(--rp, 100px);
  color: var(--t3, #606058);
  font-size: 12px;
  text-decoration: none;
  transition: all .15s;
  backdrop-filter: blur(8px);
}
.ma-cancel-bar__btn::before {
  content: '×';
  font-size: 16px;
  line-height: 1;
  opacity: .6;
}
.ma-cancel-bar__btn:hover {
  color: var(--t1, #f0efe8);
  border-color: var(--b4, #3a3a38);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner {
  background: var(--wc-surf) !important;
  border-left: 3px solid var(--wc-gold) !important;
  color: var(--wc-text) !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 14px 20px !important;
  font-size: 14px !important;
  margin-bottom: 16px !important;
}
.woocommerce-error {
  background: rgba(229,115,115,.06) !important;
  border-left: 3px solid #e57373 !important;
  color: var(--wc-text) !important;
}

/* ── SIDEBAR — ORDER SUMMARY ────────────────────────────────── */

/* O wc-blocks.css desenha uma borda propria neste bloco, que ficava
   encaixada dentro do card que o tema ja desenha em .wc-block-checkout__sidebar
   — dai o rectangulo duplo. */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-panel {
  border: none !important;
  background: none !important;
  padding: 0 !important;
}

.wc-block-components-checkout-order-summary__title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  cursor: pointer !important;
}
.wc-block-components-checkout-order-summary__title-text {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--wc-muted) !important;
}
.wc-block-components-checkout-order-summary__title-price {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--wc-text) !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
}

/* Cupão */
.wc-block-components-totals-coupon {
  border-bottom: 1px solid var(--wc-border) !important;
  padding: 12px 0 !important;
}
.wc-block-components-panel__button {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  width: 100% !important; background: none !important; border: none !important;
  color: var(--wc-muted) !important; font-size: 14px !important; cursor: pointer !important;
  padding: 0 !important; font-family: inherit !important;
  transition: color .15s !important;
}
.wc-block-components-panel__button:hover { color: var(--wc-text) !important; }
.wc-block-components-totals-coupon__form { gap: 10px !important; margin-top: 10px !important; }
.wc-block-components-totals-coupon__button {
  background: var(--wc-gold) !important; color: #000 !important;
  padding: 8px 14px !important; border-radius: 6px !important;
  font-weight: 600 !important; font-size: 13px !important;
  border: none !important; cursor: pointer !important; flex: 0 0 auto !important;
}
.wc-block-components-totals-coupon__button:hover:not(:disabled) {
  background: var(--g2, #a08c68) !important;
}

/* Totais */
.wc-block-components-totals-item {
  display: flex !important; justify-content: space-between !important;
  align-items: baseline !important; padding: 10px 0 !important;
  font-size: 14px !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value { color: var(--wc-muted) !important; font-size: 14px !important; }

.wc-block-components-totals-footer-item {
  border-top: 1px solid var(--wc-border) !important;
  margin-top: 4px !important; padding-top: 14px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 15px !important; font-weight: 600 !important; color: var(--wc-text) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  font-family: var(--fh, 'Horizon', 'Inter', sans-serif) !important;
  font-size: 20px !important; color: var(--wc-gold) !important;
  font-weight: 700 !important; letter-spacing: -.5px !important;
}
.wc-block-components-totals-footer-item-tax {
  font-size: 12px !important; color: var(--wc-muted) !important;
  margin-top: 2px !important; font-family: var(--fb, 'Inter', sans-serif) !important;
}
.wc-block-components-totals-footer-item-tax .wc-block-components-formatted-money-amount {
  font-family: var(--fb, 'Inter', sans-serif) !important;
  font-size: 12px !important; font-weight: 400 !important;
  letter-spacing: 0 !important; color: var(--wc-muted) !important;
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .wc-page-header { padding: 32px 20px 24px; }
  .wc-page-header .wc-page-title { font-size: 24px !important; }
  .wc-block-components-sidebar-layout.wc-block-checkout,
  .wc-block-components-sidebar-layout.wc-block-checkout.is-medium,
  .wc-block-components-sidebar-layout.wc-block-checkout.is-small {
    grid-template-columns: 1fr !important;
    padding: 0 20px 56px !important;
    gap: 24px !important;
  }
  .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
    position: static !important;
    order: -1 !important;
  }
  .wc-block-components-address-form {
    grid-template-columns: 1fr !important;
  }
  .wc-block-components-address-form__city,
  .wc-block-components-address-form__postcode {
    grid-column: 1 / -1 !important;
  }
}


/* ── 9. THANK YOU PAGE (Order Confirmation) ─────────────────── */
/*
 * A página de confirmação não usa .wc-block-components-sidebar-layout.
 * body.woocommerce-order-received distingue esta página do checkout form.
 */

/* Wrapper externo — sem padding extra aqui */
body.woocommerce-order-received .wp-block-woocommerce-checkout {
  padding: 0 !important;
}
body.woocommerce-order-received .wc-page-header--confirmation {
  padding: 40px 56px 0 !important;
}

/* Container principal da confirmação */
body.woocommerce-order-received .wc-block-checkout,
body.woocommerce-order-received .wc-block-components-sidebar-layout,
body.woocommerce-order-received .woocommerce-order {
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 32px 56px 56px !important;
  box-sizing: border-box !important;
}

/* "Obrigado pela tua encomenda" */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .wc-block-order-confirmation__summary-title {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--t1, #f0efe8) !important;
  margin-bottom: 20px !important;
}

/* Overview: Order number · Date · Total · Payment method */
body.woocommerce-order-received .woocommerce-order-overview {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 32px !important;
}
body.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 13px !important;
  color: var(--t3, #606058) !important;
}
body.woocommerce-order-received .woocommerce-order-overview li strong {
  color: var(--t1, #f0efe8) !important;
  font-weight: 600 !important;
}

/* Headings de secção (Order details, Billing address) */
body.woocommerce-order-received h2 {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--g, #b8a07a) !important;
  margin: 32px 0 16px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Tabela de itens da encomenda */
body.woocommerce-order-received .woocommerce-table--order-details {
  width: 100% !important;
  border-collapse: collapse !important;
}
body.woocommerce-order-received .woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce-table--order-details td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--b1, #1c1c1a) !important;
  font-size: 14px !important;
  color: var(--t1, #f0efe8) !important;
  text-align: left !important;
  background: transparent !important;
}
body.woocommerce-order-received .woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .woocommerce-table--order-details tfoot td {
  font-weight: 600 !important;
  border-bottom: none !important;
}

/* Endereço de faturação */
body.woocommerce-order-received address {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: var(--t2, #a0a098) !important;
  font-style: normal !important;
}

@media (max-width: 768px) {
  body.woocommerce-order-received .wc-block-checkout,
  body.woocommerce-order-received .woocommerce-order {
    padding: 24px !important;
  }
}

/* ── 10. MY ACCOUNT ─────────────────────────────────────────── */

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  padding: 56px;
  max-width: 1040px;
  margin: 0 auto;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li a {
  color: var(--wc-muted);
  font-size: 13px;
  text-decoration: none;
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid var(--wc-border);
  transition: color .15s;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--wc-gold);
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; padding: 20px; }
}

/* ── 10. ORDER SUMMARY ITEMS — checkout sidebar ─────────────
   Mockup: lista simples, sem thumbnail, nome × qty | preço total
   v1.13.0 fix: thumbnail escondido (produto sem imagem → placeholder laranja);
              layout alinha com o mockup "A tua encomenda".
   ────────────────────────────────────────────────────────────── */

/* Lista de items */
.wc-block-components-order-summary__items {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}

/* Linha de cada item — simples, sem thumbnail */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--wc-border) !important;
}
.wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Esconder thumbnail — produto sem imagem mostra placeholder laranja;
   o mockup não usa thumbnail no order summary */
.wc-block-components-order-summary-item__image {
  display: none !important;
}

/* Bloco de texto — ocupa o espaço todo */
.wc-block-components-order-summary-item__description {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Nome do produto */
.wc-block-components-order-summary-item__description
.wc-block-components-product-name,
.wc-block-components-order-summary-item__description
.wc-block-components-product-name a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--wc-text) !important;
  text-decoration: none !important;
  word-break: break-word !important;
  display: inline !important;
}

/* Quantidade inline (ex: "× 3") — depois do nome */
.wc-block-components-order-summary-item__quantity {
  display: inline !important;
  position: static !important;
  font-size: 12px !important;
  color: var(--wc-muted) !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
  background: none !important;
  border-radius: 0 !important;
  min-width: auto !important;
  height: auto !important;
  padding: 0 !important;
  vertical-align: baseline !important;
}

/* Preço unitário dentro da descrição — esconder (só mostramos total da linha) */
.wc-block-components-order-summary-item__description
.wc-block-components-product-price {
  display: none !important;
}

/* Short description — esconder no sidebar */
.wc-block-components-order-summary-item__description
.wc-block-components-product-metadata__description {
  display: none !important;
}

/* Preço total da linha — alinhado à direita */
.wc-block-components-order-summary-item__total-price {
  flex-shrink: 0 !important;
  text-align: right !important;
}
.wc-block-components-order-summary-item__total-price
.wc-block-components-product-price {
  display: block !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--wc-text) !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
}

/* ═══════════════════════════════════════════════════════════
   FLUXO DE COMPRA DIRECTA — v1.6.0
   ═══════════════════════════════════════════════════════════ */

/* ── Regra 2: Estado do produto com carrinho ─────────────────── */

.ma-cart-state {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}
.ma-cart-state__cta {
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    padding: 14px 24px;
}
.ma-cart-state__toggle {
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 13px;
    padding: 10px 20px;
    color: var(--t3, #606058);
    border-color: var(--b2, #242422);
}
.ma-cart-state__toggle:hover {
    color: var(--t1, #f0efe8);
    border-color: var(--b3, #2e2e2c);
}

/* Seletor escondido — animated reveal */
.ma-qty-selector {
    margin-top: 12px;
    padding: 20px;
    background: var(--s1, #0f0f0d);
    border: 1px solid var(--b2, #242422);
    border-radius: var(--r, 10px);
}
.ma-qty-selector[hidden] { display: none; }

.ma-qty-selector__note {
    font-size: 12px !important;
    color: var(--t3, #606058) !important;
    margin-top: 12px !important;
    line-height: 1.5 !important;
    text-align: center;
}

/* ── Regra 6: Banner "compra por concluir" ───────────────────── */

.ma-cart-banner {
    position: fixed;
    bottom: var(--mma-bottom-bar, 0px);
    left: 0;
    right: 0;
    z-index: 8999;
    background: var(--s1, #0f0f0d);
    border-top: 1px solid var(--b1, #1c1c1a);
    padding: 12px 56px;
    animation: ma-banner-slide-up .25s ease;
}

@keyframes ma-banner-slide-up {
    from { transform: translateY(100%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.ma-cart-banner__inner {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 1040px;
    margin: 0 auto;
    flex-wrap: wrap;
}
.ma-cart-banner__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--g, #b8a07a);
    flex-shrink: 0;
    animation: ma-dot-pulse 2s infinite;
}
@keyframes ma-dot-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: .4; }
}
.ma-cart-banner__text {
    font-size: 13px;
    color: var(--t2, #a0a090);
    flex: 1;
    min-width: 0;
}
.ma-cart-banner__resume {
    font-size: 13px;
    font-weight: 600;
    color: var(--g, #b8a07a);
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s;
}
.ma-cart-banner__resume:hover { color: var(--g2, #d4b896); }

.ma-cart-banner__discard {
    font-size: 11px;
    color: var(--t4, #3a3a38);
    text-decoration: none;
    transition: color .15s;
    white-space: nowrap;
}
.ma-cart-banner__discard:hover { color: var(--t2, #a0a090); }

@media (max-width: 768px) {
    .ma-cart-banner { padding: 10px 20px; }
    .ma-cart-banner__inner { gap: 10px; }
    .ma-cart-banner__text { font-size: 12px; flex-basis: 100%; }
    .ma-cancel-bar { bottom: calc(var(--mma-bottom-bar, 0px) + 16px); }
}


/* ═══════════════════════════════════════════════════════════
   PÁGINA DE CONFIRMAÇÃO — order-received (thankyou)
   ═══════════════════════════════════════════════════════════ */

.ma-thankyou {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 56px 80px;
}

/* Header */
.ma-thankyou__header {
  margin-bottom: 40px;
}
.ma-thankyou__header .lbl {
  margin-bottom: 12px;
}
.ma-thankyou__title {
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 300;
  letter-spacing: -0.03em;
  color: var(--t1);
  margin-bottom: 12px;
}
.ma-thankyou__subtitle {
  font-size: 14px;
  color: var(--t3);
  line-height: 1.7;
}
.ma-thankyou__subtitle a {
  color: var(--g);
  text-decoration: none;
}

/* Resumo rápido */
.ma-thankyou__summary {
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: var(--r2);
  padding: 24px;
  margin-bottom: 32px;
}
.ma-thankyou__summary-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--b2);
  font-size: 14px;
  gap: 16px;
}
.ma-thankyou__summary-row:last-child { border-bottom: none; }
.ma-thankyou__summary-row span  { color: var(--t3); }
.ma-thankyou__summary-row strong { color: var(--t1); }

/* Instruções de pagamento (gateway) — estilos para caixas MB WAY / Multibanco */
.ma-thankyou .woocommerce-order-received,
.ma-thankyou .wc-ifthenpay-mbway-instructions,
.ma-thankyou .wc-ifthenpay-multibanco-instructions,
.ma-thankyou [class*="ifthenpay"],
.ma-thankyou [class*="mbway"],
.ma-thankyou [class*="multibanco"] {
  background: var(--s1) !important;
  border: 1px solid var(--b1) !important;
  border-radius: var(--r2) !important;
  padding: 24px !important;
  margin-bottom: 32px !important;
  color: var(--t1) !important;
}

/* Botão "trocar método de pagamento" do gateway */
.ma-thankyou a[href*="order-pay"],
.ma-thankyou .woocommerce-order-pay-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--t3);
  text-decoration: none;
  border: 1px solid var(--b2);
  border-radius: var(--rp);
  padding: 8px 18px;
  margin-top: 16px;
  transition: all var(--t);
}
.ma-thankyou a[href*="order-pay"]:hover,
.ma-thankyou .woocommerce-order-pay-link:hover {
  color: var(--t1);
  border-color: var(--b3);
}

/* Notice de erro */
.ma-thankyou__notice {
  border-radius: var(--r2);
  padding: 24px;
  margin-bottom: 32px;
}
.ma-thankyou__notice--error {
  background: rgba(224,82,82,.08);
  border: 1px solid rgba(224,82,82,.3);
}
.ma-thankyou__notice--error p {
  color: var(--t2);
  margin-bottom: 16px;
}

/* Itens */
.ma-thankyou__items {
  margin-bottom: 32px;
}
.ma-thankyou__items h3 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 16px;
  font-family: var(--fb);
}
.ma-thankyou__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--b2);
  gap: 16px;
}
.ma-thankyou__item:last-child { border-bottom: none; }
.ma-thankyou__item-info { display: flex; flex-direction: column; gap: 4px; }
.ma-thankyou__item-info strong { font-size: 15px; font-weight: 500; color: var(--t1); }
.ma-thankyou__item-info span   { font-size: 12px; color: var(--t3); }
.ma-thankyou__item-total {
  font-family: var(--fh);
  font-size: 20px;
  font-weight: 700;
  color: var(--g);
  letter-spacing: -0.5px;
  flex-shrink: 0;
}

/* Dados de faturação */
.ma-thankyou__billing {
  border-top: 1px solid var(--b2);
  padding-top: 24px;
}
.ma-thankyou__billing h3 {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 12px;
  font-family: var(--fb);
}
.ma-thankyou__billing address {
  font-style: normal;
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
}
.ma-thankyou__billing p {
  font-size: 13px;
  color: var(--t3);
  margin-top: 4px;
}

@media (max-width: 768px) {
  .ma-thankyou { padding: 32px 20px 56px; }
}

/* ═══════════════════════════════════════════════════════════
   LAYOUT DE DOIS BILHETES — produto companheiro
   ═══════════════════════════════════════════════════════════ */

.ma-companion-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 860px;
}

.ma-companion-card {
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: 16px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: border-color var(--t);
}
.ma-companion-card--featured {
  border-color: var(--g);
}
.ma-companion-card:hover { border-color: var(--b3); }
.ma-companion-card--featured:hover { border-color: var(--g2, #d4b896); }

/* Badge */
.ma-companion-card__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
}
.ma-companion-card__badge--invite {
  background: rgba(184,160,122,.15);
  color: var(--g);
  border: 1px solid rgba(184,160,122,.3);
}
.ma-companion-card__badge--free {
  background: rgba(37,211,102,.08);
  color: #25D366;
  border: 1px solid rgba(37,211,102,.2);
}

/* Nome */
.ma-companion-card__name {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--g);
  margin-bottom: 16px;
}

/* Preço */
.ma-companion-card__price .price,
.ma-companion-card__price .amount {
  font-family: var(--fh) !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  letter-spacing: -2px !important;
  line-height: 1 !important;
}
.ma-companion-card__price--free .price,
.ma-companion-card__price--free .amount {
  color: var(--g) !important;
}
.ma-companion-card__price-note {
  font-size: 12px;
  color: var(--t3);
  margin-top: 4px;
  margin-bottom: 28px;
}

/* Divider */
.ma-companion-card__divider {
  height: 1px;
  background: var(--b2);
  margin-bottom: 24px;
}

/* Features */
.ma-companion-card__features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
  flex: 1;
}
.ma-companion-card__features li {
  font-size: 13px;
  color: var(--t2);
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
}
.ma-companion-card__features li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--g);
  font-weight: 700;
}

/* CTA */
.ma-companion-card__cta {
  width: 100%;
  justify-content: center;
  text-align: center;
  font-size: 14px;
  padding: 14px 24px;
  display: flex;
}

/* Esgotado */
.ma-companion-card__sold-out {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: var(--b2);
  border-radius: 10px;
  font-size: 13px;
  color: var(--t3);
}

/* Nota */
.ma-companion-card__note {
  font-size: 11px;
  color: var(--t4, #3a3a38);
  text-align: center;
  margin-top: 10px;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .ma-companion-grid { grid-template-columns: 1fr; }
  .ma-companion-card { padding: 24px; }
  .ma-companion-card__price .price,
  .ma-companion-card__price .amount { font-size: 40px !important; }
}

/* ── Companion grid — ajustes de espaçamento e preço (v1.6.8) ───── */

/* Padding-bottom da secção */
.sec:has(.ma-companion-grid) {
  padding-bottom: 80px;
}

/* Preço WooCommerce — cobrir bdi + símbolo de moeda */
.ma-companion-card__price bdi {
  font-family: var(--fh) !important;
  font-size: 52px !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  letter-spacing: -2px !important;
  line-height: 1 !important;
}
.ma-companion-card__price--free bdi {
  color: var(--g) !important;
}
.ma-companion-card__price .woocommerce-Price-currencySymbol {
  font-size: 28px !important;
  letter-spacing: 0 !important;
  vertical-align: top !important;
  margin-top: 8px !important;
  margin-right: 2px !important;
  display: inline-block !important;
}

/* Espaço entre subtítulo e grid */
.sec:has(.ma-companion-grid) p + .ma-companion-grid {
  margin-top: 40px;
}

@media (max-width: 768px) {
  .ma-companion-card__price bdi { font-size: 40px !important; }
  .ma-companion-card__price .woocommerce-Price-currencySymbol { font-size: 22px !important; }
}

/* MB WAY — campos dentro do acordeão */
.wc-block-components-radio-control-accordion-content .wc-blocks-components-select__label {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--wc-gold) !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  display: block !important;
  position: static !important;
  transform: none !important;
}
.wc-block-components-radio-control-accordion-content .wc-blocks-components-select__select {
  height: 48px !important;
  padding: 0 40px 0 14px !important;
  font-size: 14px !important;
}
.wc-block-components-radio-control-accordion-content .wc-block-components-text-input label {
  font-size: 10px !important;
  font-weight: 500 !important;
  color: var(--wc-gold) !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
}
.wc-block-components-radio-control-accordion-content input[type="tel"] {
  height: 48px !important;
  padding: 20px 14px 8px !important;
  font-size: 14px !important;
}


/* ═══════════════════════════════════════════════════════════
   MA MEDIA CHECKOUT FIELDS — adaptacao ao tema
   O plugin mamedia-checkout-fields reutiliza as classes do WC Blocks nos
   campos (wc-block-components-text-input / __label), por isso os inputs e
   labels ja herdam o estilo do checkout. O que ele traz de proprio sao as
   classes .mmcf-*, cujo CSS (assets/checkout-blocks.css) e uma paleta clara
   herdada do wp-admin (#fafafa, #1d2327, #2271b1) — contra o fundo #090909
   dava caixas brancas com texto branco por cima.
   Pelo principio do projecto (o plugin define o markup, o tema adapta-se),
   o mapeamento para os tokens fica aqui.
   ═══════════════════════════════════════════════════════════ */

.mmcf-block-checkout-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* Card do grupo */
.mmcf-group {
  background: var(--wc-surf, #0f0f0d) !important;
  border: 1px solid var(--wc-border, #1c1c1a) !important;
  border-radius: 12px !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--wc-text, #f0efe8) !important;
}

.mmcf-group__title,
.mmcf-group--named > .mmcf-group__title {
  background: transparent !important;
  color: var(--wc-text, #f0efe8) !important;
  border-bottom: 1px solid var(--wc-border, #1c1c1a) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 18px !important;
  margin: 0 !important;
}

/* Cada participante */
.mmcf-instance-block {
  background: transparent !important;
  border-bottom: 1px solid var(--wc-border, #1c1c1a) !important;
  padding: 18px !important;
}
.mmcf-instance-block:last-child {
  border-bottom: none !important;
}
.mmcf-instance-block__header {
  color: var(--wc-gold, #b8a07a) !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
  border: none !important;
}

/* Instancia do comprador — destaque a dourado (o plugin usa azul do wp-admin) */
.mmcf-instance-block--buyer {
  background: rgba(184, 160, 122, .06) !important;
  border-left: 2px solid var(--wc-gold, #b8a07a) !important;
}
.mmcf-instance-block--buyer .mmcf-instance-block__header {
  color: var(--wc-gold, #b8a07a) !important;
}

/* Toggle "O ingresso e para mim" / "Eu tambem vou".
   O label precisa de anular a regra global de labels do checkout (uppercase,
   11px, order:-1), que aqui nao se aplica — nao e o label de um campo. */
.mmcf-buyer-toggle {
  background: transparent !important;
  border-bottom: 1px solid var(--wc-border, #1c1c1a) !important;
  padding: 12px 18px !important;
}
.mmcf-buyer-toggle__label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--wc-text, #f0efe8) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  order: 0 !important;
  cursor: pointer !important;
}
.mmcf-buyer-toggle input[type="checkbox"] {
  accent-color: var(--wc-gold, #b8a07a) !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Campos marcados como "nao pedir ao comprador".
   O plugin esconde-os com style inline display:none. A regra do tema em
   .wc-block-components-text-input usa display:flex !important, e !important
   ganha a um style inline sem !important — os campos ficavam visiveis com o
   toggle ligado, que era o "botao deixou de funcionar". O plugin ja marca
   estes campos com .mmcf-skip-for-buyer; e por essa classe que os escondemos. */
.mmcf-field.mmcf-skip-for-buyer {
  display: none !important;
}

/* Textarea — a lista de inputs da seccao 3 nao cobre textarea dentro do
   checkout de blocos (o plugin poe o textarea num wrapper text-input). */
.wp-block-woocommerce-checkout textarea {
  display: block !important;
  width: 100% !important;
  background: var(--wc-input, #141412) !important;
  color: var(--wc-text, #f0efe8) !important;
  border: 1px solid var(--wc-border, #252523) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-family: var(--fb, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}


/* ── Cabecalho do step: numero e titulo na mesma linha ──────────
   O wc-blocks.css poe flex-direction: column no heading-container, por isso
   o "1." gerado pelo ::before caia numa linha propria por cima do titulo.
   O mockup tem os dois na mesma linha, alinhados pela baseline, com o link
   ("Iniciar sessao") empurrado para a direita.
   ──────────────────────────────────────────────────────────────── */
.wc-block-components-checkout-step--with-step-number
  .wc-block-components-checkout-step__heading-container {
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
.wc-block-components-checkout-step--with-step-number
  .wc-block-components-checkout-step__heading-container::before {
  display: inline !important;
  flex: none !important;
  margin: 0 !important;
}
.wc-block-components-checkout-step__heading {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: baseline !important;
  margin: 0 !important;
}
