/* ==========================================================
   WooFood Theme 3.5.55 — Acompanhar pedido
   ==========================================================
   Camada isolada para a página /acompanhar-pedido/ e páginas
   que usam o shortcode [woofood_order_tracking].

   Prioridades:
   - container dinâmico do WooFood;
   - Flexbox como base do layout;
   - formulário e resultado responsivos;
   - bordas, raios, cores, hover e focus via tokens dinâmicos;
   - nenhum impacto em Minha Conta, Carrinho ou Checkout.
   ========================================================== */

body.woofood-order-tracking-page.woofood-app-theme{
  --woofood-tracking-control-radius:var(--woofood-button-radius,var(--border-radius-base,12px));
}

/* ----------------------------------------------------------
   Shell / container dinâmico
   ---------------------------------------------------------- */
body.woofood-order-tracking-page.woofood-app-theme .content-inner > .container.fb{
  width:100% !important;
  max-width:var(--woofood-container-width,1180px) !important;
  min-width:0;
  box-sizing:border-box;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-wc-box,
body.woofood-order-tracking-page.woofood-app-theme .woofood-wc-box > .entry-content,
body.woofood-order-tracking-page.woofood-app-theme .entry-content > .woofood-tracking-widget{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

/* Evita card dentro de card caso o pattern WooFood Tracking seja usado. */
body.woofood-order-tracking-page.woofood-app-theme .entry-content > .wp-block-group.woofood-wc-box{
  margin:0;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* ----------------------------------------------------------
   Widget: intro + formulário em Flexbox
   ---------------------------------------------------------- */
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-widget{
  display:flex !important;
  flex-wrap:wrap;
  align-items:stretch;
  gap:clamp(18px,2.5vw,32px);
  margin:0;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--woofood-text) !important;
  box-shadow:none !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro{
  display:flex;
  flex:1 1 300px;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(4px,1vw,10px) 0;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro > span{
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 7px;
  color:var(--woofood-primary) !important;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.07em;
  line-height:1.25;
  text-transform:uppercase;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro h2{
  margin:0 0 8px !important;
  color:var(--woofood-heading) !important;
  font-size:clamp(1.35rem,2.6vw,1.75rem);
  font-weight:700 !important;
  letter-spacing:-.02em;
  line-height:1.15;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro p{
  max-width:52ch;
  margin:0;
  color:var(--woofood-muted) !important;
  font-size:.9375rem;
  line-height:1.55;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form{
  display:flex !important;
  flex:1 1 420px;
  flex-direction:column;
  align-self:stretch;
  min-width:0;
  margin:0;
  padding:clamp(18px,2.2vw,24px);
  border:1px solid var(--woofood-border);
  border-radius:var(--woofood-card-radius);
  background:var(--woofood-surface);
  box-shadow:none;
  box-sizing:border-box;
  transition:border-color .18s ease,box-shadow .18s ease;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form:focus-within{
  border-color:var(--woofood-border-hover);
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form[hidden]{
  display:none !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form label{
  display:flex;
  align-items:center;
  gap:.3em;
  margin:0 0 7px;
  color:var(--woofood-heading);
  font-size:.875rem;
  font-weight:700;
  line-height:1.25;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_order_id,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_tracking_code{
  width:100%;
  min-width:0;
  min-height:48px;
  margin:0 0 14px;
  padding:11px 13px;
  border:1px solid var(--woofood-border) !important;
  border-radius:var(--woofood-tracking-control-radius) !important;
  background:var(--woofood-surface) !important;
  color:var(--woofood-text) !important;
  box-shadow:none !important;
  outline:0 !important;
  box-sizing:border-box;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input::placeholder{
  color:var(--woofood-muted);
  opacity:.8;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_order_id:hover,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_tracking_code:hover{
  border-color:var(--woofood-border-hover) !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_order_id:focus,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_tracking_code:focus,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_order_id:focus-visible,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form input#woofood_tracking_code:focus-visible{
  border-color:var(--woofood-border-hover) !important;
  box-shadow:var(--woofood-focus-ring) !important;
  outline:0 !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form button,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form .btn-primary{
  align-self:flex-start;
  min-height:0 !important;
  margin-top:2px;
  padding:11px 18px !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;
  box-shadow:none !important;
  font-weight:700 !important;
  line-height:1.2;
  transform:none !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form button:hover,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form .btn-primary:hover{
  border-color:var(--woofood-primary-hover) !important;
  background:var(--woofood-primary-hover) !important;
  color:var(--woofood-on-primary-hover) !important;
  transform:none !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form button:focus,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form button:focus-visible,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form .btn-primary:focus,
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form .btn-primary:focus-visible{
  outline:0 !important;
  box-shadow:var(--woofood-focus-ring) !important;
}

/* ----------------------------------------------------------
   Resultado / acompanhamento do pedido
   ---------------------------------------------------------- */
body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-result{
  flex:1 1 100%;
  width:100%;
  min-width:0;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-result:empty{
  display:none;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-result > p{
  margin:0;
  padding:14px 16px;
  border:1px solid var(--woofood-border);
  border-radius:var(--woofood-card-radius);
  background:var(--woofood-surface-soft);
  color:var(--woofood-text);
  line-height:1.5;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-result > .woofood-error{
  border-color:color-mix(in srgb,var(--woofood-danger) 28%,var(--woofood-border));
  background:color-mix(in srgb,var(--woofood-danger) 6%,var(--woofood-surface));
  color:var(--woofood-danger) !important;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card{
  display:flex !important;
  flex-direction:column;
  gap:14px;
  width:100%;
  min-width:0;
  margin:0;
  padding:clamp(18px,2.2vw,24px);
  border:1px solid var(--woofood-border);
  border-radius:var(--woofood-card-radius);
  background:var(--woofood-surface);
  box-shadow:none;
  box-sizing:border-box;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 16px;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card__head > div{
  display:flex !important;
  flex-direction:column;
  min-width:0;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card__head > div span{
  color:var(--woofood-muted);
  font-size:.78rem;
  line-height:1.25;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card__head > div strong{
  color:var(--woofood-heading);
  font-size:clamp(1.2rem,2vw,1.4rem);
  line-height:1.2;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-order-status{
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  padding:6px 10px;
  border-radius:var(--woofood-button-radius) !important;
  background:var(--woofood-primary-soft) !important;
  color:var(--woofood-primary) !important;
  font-size:.8125rem;
  font-weight:800;
  line-height:1.25;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-total{
  margin:0;
  color:var(--woofood-heading);
  font-weight:700;
  line-height:1.4;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline{
  display:flex !important;
  flex-direction:column;
  gap:0;
  width:100%;
  min-width:0;
  margin:2px 0 0;
  padding:clamp(14px,2vw,18px);
  border:1px solid var(--woofood-border);
  border-radius:var(--woofood-card-radius);
  background:var(--woofood-surface-soft);
  box-sizing:border-box;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step{
  position:relative;
  display:flex;
  align-items:flex-start;
  min-width:0;
  min-height:42px;
  padding:2px 0 18px 38px;
  color:var(--woofood-muted);
  font-size:.9rem;
  font-weight:600;
  line-height:1.4;
  overflow-wrap:anywhere;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step:last-child{
  min-height:24px;
  padding-bottom:2px;
}

/* Marcador da etapa. O estado usa somente os tokens configuráveis do WooFood. */
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step::before{
  content:'';
  position:absolute;
  top:2px;
  left:2px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin:0;
  border:2px solid var(--woofood-border-hover);
  border-radius:50%;
  background:var(--woofood-surface);
  color:var(--woofood-on-primary);
  box-sizing:border-box;
}

/* Linha vertical: uma única conexão, sem depender da altura do texto. */
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step:not(:last-child)::after{
  content:'';
  position:absolute;
  top:24px;
  bottom:-2px;
  left:12px;
  width:2px;
  border-radius:2px;
  background:var(--woofood-border);
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done{
  color:var(--woofood-heading) !important;
  font-weight:700;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done::before{
  content:'✓';
  border-color:var(--woofood-primary);
  background:var(--woofood-primary);
  color:var(--woofood-on-primary);
  font-size:.72rem;
  font-weight:900;
  line-height:1;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done:not(:last-child)::after{
  background:var(--woofood-primary);
}

/*
 * A etapa atual é a última concluída antes de uma pendente. Se a timeline
 * ainda não for terminal e todas as etapas renderizadas estiverem concluídas,
 * a última continua destacada como atual. Em estado terminal (ex.: Entregue),
 * a última etapa permanece concluída com check.
 */
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done:has(+ .woofood-timeline-step:not(.is-done)),
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline:not(.is-terminal) .woofood-timeline-step.is-done:last-child{
  color:var(--woofood-primary) !important;
  font-weight:800;
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done:has(+ .woofood-timeline-step:not(.is-done))::before,
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline:not(.is-terminal) .woofood-timeline-step.is-done:last-child::before{
  content:'';
  border:3px solid var(--woofood-primary);
  background:var(--woofood-surface);
  box-shadow:0 0 0 4px var(--woofood-primary-soft);
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done:has(+ .woofood-timeline-step:not(.is-done))::after{
  background:var(--woofood-border);
}

/* Próxima etapa após o estado atual ganha contraste sutil sem parecer concluída. */
body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step.is-done:has(+ .woofood-timeline-step:not(.is-done)) + .woofood-timeline-step{
  color:color-mix(in srgb,var(--woofood-text) 72%,var(--woofood-muted));
}

body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-refresh{
  color:var(--woofood-muted);
  font-size:.78rem;
  line-height:1.35;
}

/* ----------------------------------------------------------
   Responsividade
   ---------------------------------------------------------- */
@media (max-width:767.98px){
  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-widget{
    gap:18px;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro,
  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form{
    flex:1 1 100%;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-intro{
    padding:0;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form,
  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card{
    padding:16px;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form button,
  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-form .btn-primary{
    align-self:stretch;
    width:100%;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline{
    padding:14px;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step{
    min-height:40px;
    padding:1px 0 16px 36px;
    font-size:.875rem;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step::before{
    top:1px;
    left:1px;
    width:21px;
    height:21px;
  }

  body.woofood-order-tracking-page.woofood-app-theme .woofood-timeline-step:not(:last-child)::after{
    top:22px;
    left:10.5px;
  }
}

@media (max-width:420px){
  body.woofood-order-tracking-page.woofood-app-theme .woofood-tracking-card__head{
    align-items:flex-start;
    flex-direction:column;
  }
}
