/* WooFood Pizza Builder 2.6.4 — UI dinâmica, Flexbox e mobile-first */

.woofood-pizza-builder{
  --woofood-pizza-gap:clamp(12px,2vw,18px);
  --woofood-pizza-control-radius:var(--woofood-button-radius,var(--border-radius-base,12px));
  --woofood-pizza-card-radius:var(--woofood-card-radius,var(--border-radius-base,18px));
  width:100%;
  max-width:100%;
  margin:0;
  padding:clamp(16px,2.2vw,24px);
  border:1px solid var(--woofood-border,#e8ecf3);
  border-radius:var(--woofood-pizza-card-radius);
  background:var(--woofood-surface,#fff);
  color:var(--woofood-text,#27304d);
  box-shadow:0 14px 34px color-mix(in srgb,var(--woofood-heading,#1f2848) 7%,transparent);
  box-sizing:border-box;
}

body.woofood-pizza-builder-page.woofood-app-theme .content-inner>.container.fb{
  width:100%;
  max-width:var(--woofood-container-width,1180px);
}

/* No tema WooFood, o .woofood-wc-box já é o card principal da página. */
body.woofood-pizza-builder-page.woofood-app-theme .woofood-wc-box .woofood-pizza-builder{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.woofood-pizza-builder *,
.woofood-pizza-builder *::before,
.woofood-pizza-builder *::after{
  box-sizing:border-box;
}

.woofood-pizza-builder__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  margin:0 0 clamp(18px,3vw,28px);
}

.woofood-pizza-builder__eyebrow{
  display:inline-flex;
  align-items:center;
  margin:0;
  padding:6px 10px;
  border:1px solid color-mix(in srgb,var(--woofood-primary,#ff6b35) 20%,var(--woofood-border,#e8ecf3));
  border-radius:var(--woofood-pizza-control-radius);
  background:var(--woofood-primary-soft,color-mix(in srgb,var(--woofood-primary,#ff6b35) 9%,var(--woofood-surface,#fff)));
  color:var(--woofood-primary,#ff6b35);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}

.woofood-pizza-builder h2{
  margin:0;
  color:var(--woofood-heading,#1f2848);
  font-size:clamp(22px,3.5vw,30px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.035em;
}

.woofood-pizza-builder__head p{
  max-width:780px;
  margin:0;
  color:var(--woofood-muted,#6d768b);
  font-size:14px;
  line-height:1.5;
}

.woofood-pizza-builder__form{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:var(--woofood-pizza-gap);
  width:100%;
  margin:0;
}

.woofood-pizza-builder__section{
  min-width:0;
  margin:0;
  padding:clamp(14px,2vw,18px);
  border:1px solid var(--woofood-border,#e8ecf3);
  border-radius:var(--woofood-pizza-card-radius);
  background:var(--woofood-surface,#fff);
}

.woofood-pizza-builder__section--sizes,
.woofood-pizza-builder__section--flavors{
  flex:1 1 100%;
}

.woofood-pizza-builder__section--crust{
  flex:1 1 280px;
  scroll-margin-top:calc(var(--headheight,55px) + 20px);
}

.woofood-pizza-builder__section--note{
  flex:2 1 420px;
  scroll-margin-top:calc(var(--headheight,55px) + 20px);
}

.woofood-pizza-builder__section--cross-sells{
  flex:1 1 100%;
}

.woofood-pizza-builder__cross-sells-description{
  margin:0 0 12px;
  color:var(--woofood-muted,#6d768b);
  font-size:13px;
  line-height:1.45;
}

.woofood-pizza-builder__cross-sells-list{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
}

.woofood-pizza-builder__cross-sell-card{
  text-decoration:none;
}

.woofood-pizza-flavor.woofood-pizza-builder__cross-sell-card>img{
  object-fit:contain;
}

.woofood-pizza-builder__section legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  max-width:100%;
  margin:0 0 12px;
  padding:0 4px;
  color:var(--woofood-heading,#1f2848);
  font-size:15px;
  font-weight:850;
  line-height:1.25;
}

.woofood-pizza-builder__section legend small{
  color:var(--woofood-muted,#8b93a5);
  font-size:12px;
  font-weight:700;
}

.woofood-pizza-builder__options{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
  width:100%;
}

.woofood-pizza-option{
  position:relative;
  display:flex;
  flex:1 1 145px;
  min-width:0;
  margin:0;
  cursor:pointer;
}

.woofood-pizza-option input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.woofood-pizza-option span{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:100%;
  padding:12px 14px;
  border:1px solid var(--woofood-border,#e8ecf3);
  border-radius:var(--woofood-pizza-control-radius);
  background:var(--woofood-surface-soft,#f8f9fc);
  color:var(--woofood-heading,#1f2848);
  font-weight:800;
  line-height:1.25;
  text-align:center;
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.woofood-pizza-option small{
  display:block;
  color:var(--woofood-muted,#80889a);
  font-size:11px;
  font-weight:650;
}

.woofood-pizza-option:hover span{
  border-color:var(--woofood-border-hover,#cfd5e1);
  transform:translateY(-1px);
}

.woofood-pizza-option input:focus-visible+span{
  border-color:var(--woofood-border-hover,#cfd5e1);
  outline:0;
  box-shadow:var(--woofood-focus-ring,0 0 0 3px rgba(0,0,0,.08));
}

.woofood-pizza-option input:checked+span{
  border-color:var(--woofood-primary,#ff6b35);
  background:var(--woofood-primary-soft,color-mix(in srgb,var(--woofood-primary,#ff6b35) 8%,var(--woofood-surface,#fff)));
  color:var(--woofood-primary,#ff6b35);
}

.woofood-pizza-builder__flavors{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
  width:100%;
}

.woofood-pizza-flavor{
  position:relative;
  display:flex;
  flex:1 1 320px;
  min-width:0;
  align-items:center;
  gap:12px;
  margin:0;
  padding:10px;
  border:1px solid var(--woofood-border,#e8ecf3);
  border-radius:var(--woofood-pizza-control-radius);
  background:var(--woofood-surface,#fff);
  color:var(--woofood-text,#27304d);
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease;
}

.woofood-pizza-flavor:hover{
  border-color:var(--woofood-border-hover,#cfd5e1);
  transform:translateY(-1px);
  box-shadow:0 10px 24px color-mix(in srgb,var(--woofood-heading,#1f2848) 6%,transparent);
}

.woofood-pizza-flavor input{
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin:0;
  accent-color:var(--woofood-primary,#ff6b35);
}

.woofood-pizza-flavor input:focus-visible{
  outline:0;
  box-shadow:var(--woofood-focus-ring,0 0 0 3px rgba(0,0,0,.08));
}

.woofood-pizza-flavor img{
  flex:0 0 clamp(52px,7vw,64px);
  width:clamp(52px,7vw,64px);
  height:clamp(52px,7vw,64px);
  border-radius:var(--woofood-pizza-control-radius);
  background:var(--woofood-surface-soft,#f8f9fc);
  object-fit:cover;
}

.woofood-pizza-flavor>span{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  gap:3px;
}

.woofood-pizza-flavor strong{
  color:var(--woofood-heading,#1f2848);
  font-size:14px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.woofood-pizza-flavor small{
  color:var(--woofood-muted,#7b8496);
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.woofood-pizza-flavor em{
  color:var(--woofood-primary,#ff6b35);
  font-size:12px;
  font-style:normal;
  font-weight:800;
  line-height:1.3;
}

.woofood-pizza-flavor.is-selected{
  border-color:var(--woofood-primary,#ff6b35);
  background:var(--woofood-primary-soft,color-mix(in srgb,var(--woofood-primary,#ff6b35) 7%,var(--woofood-surface,#fff)));
}

.woofood-pizza-flavor.is-unavailable{
  opacity:.58;
}

.woofood-pizza-flavor.is-unavailable em{
  color:var(--woofood-muted,#8b93a5);
}

.woofood-pizza-builder select,
.woofood-pizza-builder textarea,
.woofood-pizza-builder input[type=number]{
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:11px 13px;
  border:1px solid var(--woofood-border,#e8ecf3)!important;
  border-radius:var(--woofood-pizza-control-radius)!important;
  background:var(--woofood-surface,#fff)!important;
  color:var(--woofood-text,#27304d)!important;
  box-shadow:none;
  font:inherit;
  line-height:1.35;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.woofood-pizza-builder textarea{
  min-height:104px;
  resize:vertical;
}

.woofood-pizza-builder select:hover,
.woofood-pizza-builder textarea:hover,
.woofood-pizza-builder input[type=number]:hover{
  border-color:var(--woofood-border-hover,#cfd5e1)!important;
}

.woofood-pizza-builder select:focus,
.woofood-pizza-builder select:focus-visible,
.woofood-pizza-builder textarea:focus,
.woofood-pizza-builder textarea:focus-visible,
.woofood-pizza-builder input[type=number]:focus,
.woofood-pizza-builder input[type=number]:focus-visible{
  border-color:var(--woofood-border-hover,#cfd5e1)!important;
  outline:0!important;
  box-shadow:var(--woofood-focus-ring,0 0 0 3px rgba(0,0,0,.08))!important;
}

.woofood-pizza-builder__footer{
  display:flex;
  flex:1 1 100%;
  flex-wrap:wrap;
  align-items:end;
  gap:10px 12px;
  width:100%;
  margin:2px 0 0;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--woofood-heading,#1f2848) 10%,transparent);
  border-radius:var(--woofood-pizza-card-radius);
  background:var(--woofood-heading,#1f2848);
  color:var(--woofood-surface,#fff);
  box-shadow:0 14px 30px color-mix(in srgb,var(--woofood-heading,#1f2848) 16%,transparent);
  z-index:5;
}

.woofood-pizza-builder__footer>div:first-child{
  display:flex;
  flex:1 1 130px;
  min-width:0;
  flex-direction:column;
  gap:2px;
}

.woofood-pizza-builder__footer span,
.woofood-pizza-builder__qty label{
  margin:0;
  color:color-mix(in srgb,var(--woofood-surface,#fff) 72%,transparent);
  font-size:11px;
  font-weight:700;
  line-height:1.2;
}

.woofood-pizza-builder__footer strong{
  color:var(--woofood-surface,#fff);
  font-size:clamp(18px,3vw,22px);
  font-weight:850;
  line-height:1.1;
  white-space:nowrap;
}

.woofood-pizza-builder__qty{
  display:flex;
  flex:0 1 110px;
  min-width:90px;
  flex-direction:column;
  gap:4px;
}

.woofood-pizza-builder__footer input[type=number]{
  padding:9px 10px;
  text-align:center;
}

.woofood-pizza-builder__footer button{
  display:inline-flex;
  flex:1 1 220px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:11px 16px;
  border:1px solid var(--woofood-primary,#ff6b35)!important;
  border-radius:var(--woofood-pizza-control-radius)!important;
  background:var(--woofood-primary,#ff6b35)!important;
  color:var(--woofood-on-primary,#fff)!important;
  box-shadow:none!important;
  font:inherit;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.woofood-pizza-builder__footer button:hover{
  border-color:var(--woofood-primary-hover,var(--woofood-primary,#ff6b35))!important;
  background:var(--woofood-primary-hover,var(--woofood-primary,#ff6b35))!important;
  color:var(--woofood-on-primary-hover,var(--woofood-on-primary,#fff))!important;
  transform:translateY(-1px);
}

.woofood-pizza-builder__footer button:focus,
.woofood-pizza-builder__footer button:focus-visible{
  outline:0!important;
  box-shadow:var(--woofood-focus-ring,0 0 0 3px rgba(0,0,0,.08))!important;
}

.woofood-pizza-builder__footer button:disabled{
  opacity:.62;
  cursor:not-allowed;
  transform:none;
}

.woofood-pizza-builder__message{
  display:none;
  flex:1 1 100%;
  width:100%;
  margin:0;
  padding:10px 12px;
  border:1px solid var(--woofood-border,#e8ecf3);
  border-radius:var(--woofood-pizza-control-radius);
  background:var(--woofood-surface-soft,#f8f9fc);
  color:var(--woofood-muted,#6d768b);
  font-size:13px;
  font-weight:650;
  line-height:1.4;
}

.woofood-pizza-builder__message:not(:empty){
  display:block;
}

.woofood-pizza-builder__message.is-success{
  border-color:color-mix(in srgb,var(--woofood-success,#16845b) 28%,var(--woofood-border,#e8ecf3));
  background:color-mix(in srgb,var(--woofood-success,#16845b) 7%,var(--woofood-surface,#fff));
  color:var(--woofood-success,#16845b);
}

.woofood-pizza-builder__message.is-error{
  border-color:color-mix(in srgb,var(--woofood-danger,#c2414a) 28%,var(--woofood-border,#e8ecf3));
  background:color-mix(in srgb,var(--woofood-danger,#c2414a) 7%,var(--woofood-surface,#fff));
  color:var(--woofood-danger,#c2414a);
}

.woofood-pizza-builder__message a{
  color:inherit;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}

.woofood-pizza-builder__empty{
  padding:16px;
  border:1px solid color-mix(in srgb,var(--woofood-warning,#a16207) 28%,var(--woofood-border,#e8ecf3));
  border-radius:var(--woofood-pizza-card-radius);
  background:color-mix(in srgb,var(--woofood-warning,#a16207) 7%,var(--woofood-surface,#fff));
  color:var(--woofood-text,#27304d);
  line-height:1.5;
}

@media (min-width:700px){
  .woofood-pizza-builder__footer{
    position:sticky;
    bottom:16px;
  }
}

@media (max-width:699.98px){
  .woofood-pizza-builder{
    --woofood-pizza-gap:12px;
    padding:14px;
  }

  body.woofood-pizza-builder-page.woofood-app-theme .woofood-wc-box .woofood-pizza-builder{
    padding:0;
  }

  .woofood-pizza-builder__head{
    margin-bottom:18px;
  }

  .woofood-pizza-builder__section{
    flex-basis:100%;
    padding:13px;
  }

  .woofood-pizza-flavor{
    flex-basis:100%;
  }

  .woofood-pizza-builder__footer{
    position:static;
    gap:10px;
  }

  .woofood-pizza-builder__footer>div:first-child{
    flex:1 1 auto;
  }

  .woofood-pizza-builder__qty{
    flex:0 1 100px;
  }

  .woofood-pizza-builder__footer button{
    flex-basis:100%;
    width:100%;
  }
}

@media (max-width:379.98px){
  .woofood-pizza-option{
    flex-basis:100%;
  }

  .woofood-pizza-flavor{
    align-items:flex-start;
    gap:9px;
    padding:9px;
  }

  .woofood-pizza-flavor img{
    flex-basis:48px;
    width:48px;
    height:48px;
  }

  .woofood-pizza-builder__footer>div:first-child,
  .woofood-pizza-builder__qty{
    flex:1 1 110px;
  }
}

@media (prefers-reduced-motion:reduce){
  .woofood-pizza-builder *,
  .woofood-pizza-builder *::before,
  .woofood-pizza-builder *::after{
    transition:none!important;
    scroll-behavior:auto!important;
  }
}

.woofood-pizza-builder__closed{margin:0 0 18px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--woofood-warning,#b76b00) 28%,var(--woofood-border,#e7e9f0));border-radius:var(--woofood-card-radius,18px);background:color-mix(in srgb,var(--woofood-warning,#b76b00) 8%,var(--woofood-surface,#fff));color:var(--woofood-text,#27304d);font-size:.9rem;line-height:1.55}.woofood-pizza-builder__footer button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none!important;transform:none!important}
