.kfmd-launch-wrap{margin-top:14px;clear:both}.kfmd-builder{clear:both;margin:18px 0 28px;scroll-margin-top:120px}.kfmd-builder,.kfmd-builder *{box-sizing:border-box}.kfmd-card{--kfmd-accent:#ff97cd;--kfmd-surface:#17171d;--kfmd-card:#ff5ab1;--kfmd-text:#ececf1;--kfmd-muted:#d9d9e2;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)),var(--kfmd-surface);border:1px solid color-mix(in srgb,var(--kfmd-accent) 55%,transparent);border-radius:26px;padding:20px;box-shadow:0 0 28px rgba(255,151,205,.18);color:var(--kfmd-text);max-width:980px;margin:0 auto}.kfmd-main-block{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:20px;text-align:center;margin-bottom:24px}.kfmd-main-label{font-size:18px;color:var(--kfmd-muted);margin-bottom:8px}.kfmd-main-name{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.08;color:var(--kfmd-text);text-shadow:0 0 12px rgba(255,151,205,.3)}.kfmd-main-price{font-size:clamp(26px,4.5vw,40px);font-weight:900;color:var(--kfmd-accent);margin-top:12px;text-shadow:0 0 12px rgba(255,151,205,.35)}.kfmd-main-apf{display:flex;flex-direction:column;gap:8px;margin:18px auto 0;max-width:560px;text-align:left}.kfmd-main-apf-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:18px;line-height:1.35}.kfmd-main-apf-label{font-weight:900;color:var(--kfmd-text)}.kfmd-main-apf-value{color:var(--kfmd-muted)}.kfmd-group{margin:24px 0}.kfmd-group h4,.kfmd-summary h4{margin:0 0 8px;text-align:center;font-size:clamp(28px,5vw,44px);line-height:1.05;font-weight:900;color:var(--kfmd-accent);text-shadow:0 0 13px rgba(255,151,205,.6)}.kfmd-help{text-align:center;color:var(--kfmd-muted);font-size:clamp(18px,3.4vw,28px);margin:0 0 18px}.kfmd-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.kfmd-option-card,.kfmd-builder button.kfmd-option-card{appearance:none!important;-webkit-appearance:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;min-width:0!important;min-height:260px!important;height:auto!important;margin:0!important;padding:14px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;background:linear-gradient(180deg,#ff8dcb 0%,#ff4fab 100%)!important;color:#fff!important;text-align:center!important;box-shadow:0 9px 20px rgba(255,79,171,.22)!important;overflow:hidden!important;line-height:1.15!important;cursor:pointer}.kfmd-option-card.is-selected{outline:3px solid var(--kfmd-accent)!important;box-shadow:0 0 0 3px rgba(255,151,205,.22),0 0 25px rgba(255,151,205,.45)!important}.kfmd-option-image-wrap{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;aspect-ratio:1/1!important;max-height:150px!important;border-radius:15px!important;background:#f6f6f6!important;overflow:hidden!important;flex:0 0 auto!important}.kfmd-option-image{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}.kfmd-option-title{display:block!important;color:#fff!important;font-size:clamp(18px,3.8vw,30px)!important;line-height:1.08!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.045em!important;text-shadow:0 1px 0 rgba(0,0,0,.25)!important;overflow-wrap:anywhere!important}.kfmd-option-price{display:block!important;color:#27232b!important;font-size:clamp(18px,3.4vw,26px)!important;line-height:1.1!important;font-weight:900!important}.kfmd-option-badge{position:absolute!important;right:8px!important;top:8px!important;z-index:3!important;background:#0b0b0d!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;font-size:clamp(14px,3vw,22px)!important;line-height:1!important;font-weight:1000!important;letter-spacing:.06em!important;box-shadow:0 2px 8px rgba(0,0,0,.28)!important}.kfmd-option-image-wrap-none{background:#fff!important;border:1px dashed rgba(0,0,0,.16)!important}.kfmd-option-none-text{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:10px;color:#111;font-size:22px;font-weight:900;text-align:center;text-transform:uppercase}.kfmd-summary{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:20px;margin-top:28px}.kfmd-summary ul{list-style:none!important;margin:16px 0 0!important;padding:0!important}.kfmd-summary li{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed rgba(255,151,205,.32);font-size:clamp(16px,3.4vw,24px);color:var(--kfmd-text)}.kfmd-summary li strong{white-space:nowrap;color:var(--kfmd-text);font-weight:900}.kfmd-summary-pill{display:inline-block;margin-left:6px;padding:4px 7px;border-radius:999px;background:#0b0b0d;color:#fff;font-style:normal;font-size:.75em;vertical-align:middle}.kfmd-summary-total{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:18px;margin-top:12px;border-top:3px solid rgba(255,151,205,.5);font-size:clamp(22px,4.5vw,34px);font-weight:1000;color:var(--kfmd-text)}.kfmd-summary-actions{display:flex;flex-direction:column;gap:14px;margin-top:22px}.kfmd-summary-actions button,.kfmd-builder .kfmd-add,.kfmd-builder .kfmd-cancel{width:100%!important;min-height:64px!important;border-radius:18px!important;background:linear-gradient(180deg,#ff9bd0,#ff4fab)!important;color:#fff!important;border:0!important;font-size:clamp(16px,3.5vw,24px)!important;font-weight:1000!important;text-transform:uppercase!important;letter-spacing:.08em!important;box-shadow:0 0 20px rgba(255,79,171,.38)!important}.kfmd-builder .kfmd-cancel{background:linear-gradient(180deg,#ff8fc8,#f348a2)!important}.kfmd-builder .kfmd-add:disabled{opacity:.65!important}.kfmd-option-card:hover{transform:translateY(-1px)}@media(max-width:520px){.kfmd-card{padding:16px;border-radius:22px}.kfmd-options-grid{gap:14px}.kfmd-option-card,.kfmd-builder button.kfmd-option-card{min-height:220px!important;padding:10px!important;border-radius:16px!important}.kfmd-option-image-wrap{max-height:118px!important}.kfmd-main-block,.kfmd-summary{padding:16px}.kfmd-main-apf-row{font-size:16px}.kfmd-summary li{flex-direction:row}.kfmd-summary-actions button,.kfmd-builder .kfmd-add,.kfmd-builder .kfmd-cancel{min-height:58px!important}}

/* v1.0.23: Meal builder replaces/covers the APF area while active instead of pushing below it. */
form.kfmd-meal-open .kf-apf-wrap,
form.kfmd-meal-open .kitchenforge-apf-wrap,
form.kfmd-meal-open .kf-apf-fields,
form.kfmd-meal-open .kfapf-wrap{
  display:none !important;
}
.kfmd-builder.is-open{
  clear:both;
  width:100%;
  margin:18px 0;
}
.kfmd-builder-original-marker{display:none!important;}


/* v1.0.24: Greedy Pigs one-page menu inline form compatibility.
   The theme has broad .gpv2-menu-row button rules with !important sizing.
   These higher-specificity rules let the meal builder cards behave as cards again. */
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder,
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder.is-open{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:18px 0 !important;
  clear:both !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  overflow:visible !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-options-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  min-width:0 !important;
  align-items:stretch !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder button.kfmd-option-card,
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-card,
.gpv2-menu-row .kfmd-builder button.kfmd-option-card,
.gpv2-menu-row button.kfmd-option-card{
  display:flex !important;
  flex:initial !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:250px !important;
  max-height:none !important;
  padding:12px !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-image-wrap,
.gpv2-menu-row .kfmd-builder .kfmd-option-image-wrap{
  width:100% !important;
  min-width:0 !important;
  max-width:150px !important;
  height:auto !important;
  min-height:0 !important;
  max-height:150px !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-title,
.gpv2-menu-row .kfmd-builder .kfmd-option-title{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.08 !important;
  font-size:clamp(17px,3.5vw,26px) !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-price,
.gpv2-menu-row .kfmd-builder .kfmd-option-price{
  width:100% !important;
  display:block !important;
  white-space:normal !important;
  line-height:1.1 !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-badge,
.gpv2-menu-row .kfmd-builder .kfmd-option-badge{
  width:auto !important;
  min-width:0 !important;
  max-width:calc(100% - 12px) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-add,
.gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-cancel,
.gpv2-menu-row .kfmd-builder button.kfmd-add,
.gpv2-menu-row .kfmd-builder button.kfmd-cancel{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:58px !important;
  max-height:none !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
.gpv2-inline-product__content form.kfmd-meal-open .quantity,
.gpv2-inline-product__content form.kfmd-meal-open .single_add_to_cart_button:not(.kfmd-launch-button):not(.kfmd-add),
.gpv2-inline-product__content form.kfmd-meal-open button[type="submit"]:not(.kfmd-launch-button):not(.kfmd-add){
  display:none !important;
}
@media(max-width:520px){
  .gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-options-grid{gap:14px !important;}
  .gpv2-menu-row .gpv2-inline-product__content .kfmd-builder button.kfmd-option-card,
  .gpv2-menu-row .kfmd-builder button.kfmd-option-card{min-height:235px !important;padding:10px !important;}
  .gpv2-menu-row .gpv2-inline-product__content .kfmd-builder .kfmd-option-image-wrap,
  .gpv2-menu-row .kfmd-builder .kfmd-option-image-wrap{max-width:126px !important;max-height:126px !important;}
}


/* v1.0.25: keep the meal-builder add button visible while the APF/normal cart controls are hidden. */
.gpv2-inline-product__content form.kfmd-meal-open .kfmd-builder .kfmd-add,
.gpv2-inline-product__content form.kfmd-meal-open button.kfmd-add,
form.kfmd-meal-open .kfmd-builder .kfmd-add,
form.kfmd-meal-open button.kfmd-add{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
.gpv2-inline-product__content form.kfmd-meal-open .kfmd-summary-actions{
  display:flex !important;
}


/* v1.0.26: one-page menu APF replacement fix. APF can sit outside the cart form in the AJAX inline panel, so hide the exact APF block JS marks rather than only relying on form.kfmd-meal-open. */
.kfmd-apf-hidden-target,
.kfmd-meal-open-scope .kfmd-apf-hidden-target{
  display:none !important;
  visibility:hidden !important;
}
.kfmd-meal-open-scope .kfmd-builder.is-open{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}
.kfmd-required-warning{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:rgba(255,151,205,.12);border:1px solid rgba(255,151,205,.42);color:var(--kfmd-text);font-weight:800;text-align:center;line-height:1.35}.kfmd-builder .kfmd-add[disabled]{opacity:.45!important;filter:grayscale(.2);cursor:not-allowed!important}


/* v1.0.28: strong selected state for meal builder options. */
.kfmd-builder .kfmd-option-card.is-selected,
.kfmd-builder button.kfmd-option-card.is-selected{
  border:4px solid var(--kfmd-badge-bg, #0b0b0d) !important;
  outline:3px solid var(--kfmd-accent, #ff97cd) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.9),0 0 28px rgba(255,151,205,.9), inset 0 0 0 2px rgba(255,255,255,.55) !important;
  transform:translateY(-2px) scale(1.02) !important;
}
.kfmd-builder .kfmd-option-card.is-selected:after,
.kfmd-builder button.kfmd-option-card.is-selected:after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.04));
}
.kfmd-selected-badge{
  position:absolute !important;
  left:8px !important;
  top:8px !important;
  z-index:6 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  max-width:calc(100% - 16px) !important;
  padding:7px 10px !important;
  border-radius:999px !important;
  background:#0b0b0d !important;
  color:#fff !important;
  border:2px solid var(--kfmd-accent, #ff97cd) !important;
  font-size:clamp(11px,2.5vw,15px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  box-shadow:0 0 14px rgba(255,151,205,.65) !important;
  white-space:nowrap !important;
}
.gpv2-menu-row .kfmd-builder .kfmd-option-card.is-selected,
.gpv2-menu-row .kfmd-builder button.kfmd-option-card.is-selected{
  overflow:visible !important;
}


/* v1.0.30: compact APF choices in the meal header */
.kfmd-main-apf-compact .kfmd-main-apf-row{justify-content:center;text-align:center;font-weight:800;}
.kfmd-main-apf-compact .kfmd-main-apf-value{color:var(--kfmd-muted);}
