.gd-fc{--gd-olive:#405342;--gd-dark:#283b30;--gd-muted:#6c796d;--gd-border:#dce2d8;--gd-cream:#f8f7f2;--gd-accent:#c6a86a;font-family:inherit;color:#26372e;background:#fff;border:1px solid #e6e9e2;border-radius:7px;overflow:hidden;max-width:1180px;margin:30px auto 55px;box-shadow:0 10px 38px rgba(29,43,32,.035);line-height:1.55}.gd-fc *{box-sizing:border-box}.gd-fc [hidden]{display:none!important}.gd-fc__top{background:var(--gd-cream);padding:43px 48px 38px;border-bottom:1px solid var(--gd-border)}.gd-fc__eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#70846e;display:flex;align-items:center;gap:13px}.gd-fc__eyebrow span{width:26px;height:1px;background:var(--gd-accent)}.gd-fc__top h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,4vw,49px);line-height:1.16;letter-spacing:-1px;color:#283b30;margin:13px 0 10px}.gd-fc__top h2 em{color:#8b966c;font-weight:400}.gd-fc__top p{font-size:15px;color:#647064;max-width:650px;margin:0}.gd-fc__body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr)}.gd-fc__main{padding:38px 44px 40px;min-width:0}.gd-fc__section{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.gd-fc__index{border:1px solid #cfd9cd;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:12px;color:#65765f;flex:none}.gd-fc__section h3{font-family:inherit;font-size:20px;line-height:1.3;font-weight:650;color:#304535;margin:2px 0 4px}.gd-fc__section p{font-size:13px;color:#819084;margin:0}.gd-fc__fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.gd-fc__field{display:flex;flex-direction:column;min-width:0;margin:0!important}.gd-fc__label{font-size:13px;font-weight:650;color:#344638;margin:0 0 7px}.gd-fc__hint{font-size:11px;color:#8b968b;margin:-5px 0 8px}.gd-fc__inputwrap{display:flex;align-items:center;border:1px solid #dce2d8;background:#fff;border-radius:4px;overflow:hidden;height:46px;transition:border-color .2s,box-shadow .2s}.gd-fc__inputwrap:focus-within{border-color:#879c84;box-shadow:0 0 0 3px rgba(87,111,78,.11)}.gd-fc__inputwrap input[type=number]{display:block!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;color:#263b2c!important;font-size:16px!important;font-weight:600!important;width:100%!important;min-width:0!important;height:100%!important;max-height:none!important;padding:10px 12px!important;margin:0!important;appearance:textfield!important;-moz-appearance:textfield!important}.gd-fc__inputwrap input::-webkit-inner-spin-button,.gd-fc__inputwrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gd-fc__unit{padding:0 12px;color:#70816e;background:#f5f7f2;border-left:1px solid #e7ebe4;font-size:12px;font-weight:650;white-space:nowrap;display:flex;align-items:center;height:100%}.gd-fc select{display:block!important;width:100%!important;min-width:0;max-width:none!important;border:1px solid var(--gd-border)!important;border-radius:4px!important;background:#fff!important;color:#344638!important;height:46px!important;padding:8px 28px 8px 12px!important;font-size:14px!important;box-shadow:none!important}.gd-fc__separator{height:1px;background:var(--gd-border);margin:29px 0}.gd-fc__selling{max-width:310px}.gd-fc__ingredient-table{width:100%;overflow-x:auto}.gd-fc__ingredient-head,.gd-fc__ingredient-row{display:grid;grid-template-columns:minmax(110px,2fr) minmax(75px,.95fr) minmax(78px,1.1fr) 28px;gap:9px;align-items:center}.gd-fc__ingredient-head{font-size:11px;color:#728072;padding-bottom:10px}.gd-fc__ingredient-row{margin:0 0 9px}.gd-fc__ingredient-row input{width:100%!important;min-width:0!important;min-height:40px!important;height:40px!important;background:#fff!important;color:#26372e!important;border:1px solid var(--gd-border)!important;border-radius:4px!important;padding:7px 9px!important;font-size:13px!important;box-shadow:none!important}.gd-fc__ingredient-row input:focus{border-color:#879c84!important}.gd-fc__remove{border:0!important;background:#f7efed!important;color:#a95346!important;border-radius:4px!important;font-size:20px!important;height:32px!important;min-width:28px!important;padding:0!important;line-height:1!important;cursor:pointer}.gd-fc__add{margin-top:12px!important;border:1px dashed #a5b49e!important;border-radius:4px!important;background:#f7faf6!important;color:#3e6544!important;padding:10px 14px!important;font-size:12px!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.gd-fc__reset{background:transparent!important;border:none!important;box-shadow:none!important;color:#637962!important;font-size:12px!important;text-transform:none!important;letter-spacing:0!important;padding:0!important;margin-top:24px!important;cursor:pointer}.gd-fc__reset:hover{color:#253b2c!important;text-decoration:underline}.gd-fc__empty{padding:15px;background:#f8f7f2;border:1px solid var(--gd-border);border-radius:4px;color:#647064;font-size:13px;margin-top:20px}.gd-fc__results{background:linear-gradient(160deg,#3d5442 0%,#2b3f33 100%);color:#fff;padding:39px 35px 34px;min-width:0}.gd-fc__result-label,.gd-fc__breakdown-heading{font-size:10px;letter-spacing:2px;color:#c2cebd;font-weight:700;margin:0 0 25px}.gd-fc__hero-result span{display:block;color:#d2ddd0;font-size:13px;margin-bottom:6px}.gd-fc__hero-result strong{font-family:Georgia,'Times New Roman',serif;display:block;font-weight:400;color:#fff;font-size:clamp(36px,4vw,51px);line-height:1.15;letter-spacing:-1px}.gd-fc__hero-result small{display:block;color:#bcccb9;margin-top:8px;font-size:11px}.gd-fc__line{height:1px;background:rgba(255,255,255,.19);margin:27px 0}.gd-fc__metric{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:20px 0;color:#d5e0d2;font-size:13px}.gd-fc__metric strong{font-size:20px;color:#fff;white-space:nowrap;font-weight:600}.gd-fc__metric--positive strong{color:#e6d4a2}.gd-fc__progress{background:rgba(255,255,255,.16);height:7px;border-radius:20px;overflow:hidden;margin:11px 0 25px}.gd-fc__progress span{display:block;background:#d8c38b;height:100%;transition:width .25s;width:0;border-radius:20px}.gd-fc__breakdown-heading{margin:0 0 10px}.gd-fc__small{margin:9px 0;font-size:12px}.gd-fc__small strong{font-size:13px;font-weight:600}.gd-fc__note{font-size:11px;color:#b8cab8;line-height:1.65;margin-top:26px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.gd-fc input:focus-visible,.gd-fc button:focus-visible,.gd-fc select:focus-visible{outline:2px solid #b49b5b;outline-offset:2px}@media(max-width:850px){.gd-fc__body{grid-template-columns:1fr}.gd-fc__results{padding:32px}.gd-fc__top{padding:34px 29px}.gd-fc__main{padding:31px 29px}}@media(max-width:480px){.gd-fc{margin:15px auto 35px}.gd-fc__fields{grid-template-columns:1fr;gap:16px}.gd-fc__top{padding:27px 22px}.gd-fc__main{padding:27px 22px}.gd-fc__results{padding:29px 22px}.gd-fc__hero-result strong{font-size:41px}.gd-fc__eyebrow{letter-spacing:1.1px;font-size:10px}.gd-fc__ingredient-head,.gd-fc__ingredient-row{grid-template-columns:minmax(90px,1.6fr) minmax(62px,.8fr) minmax(70px,1fr) 25px;gap:5px}.gd-fc__ingredient-row input{padding:6px!important;font-size:12px!important}}
/* 2.1: image category navigation, mobile-friendly units and visible select chevrons */
.gd-fc__categories{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:9px;padding:20px 28px;background:#f8f7f2;border-bottom:1px solid #dce2d8}
.gd-fc .gd-fc__tile{display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-width:0;min-height:105px;padding:8px 5px!important;border:1px solid #dce2d8!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;transition:border-color .15s,background .15s,transform .15s}
.gd-fc .gd-fc__tile:hover{transform:translateY(-2px);border-color:#99a98c!important}.gd-fc .gd-fc__tile.is-active{border:2px solid #b58c37!important;background:#fff6db!important}.gd-fc__tile img{width:100%;height:66px;object-fit:contain;display:block}.gd-fc__tile-name{font-size:11px!important;font-weight:700;color:#304535;line-height:1.2;overflow-wrap:anywhere}.gd-fc__tile-placeholder{font-size:35px}
.gd-fc select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m2 2 5 5 5-5' fill='none' stroke='%23334d3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:13px 9px!important;padding-right:32px!important;color:#304535!important}
.gd-fc__ingredient-row--units{grid-template-columns:minmax(94px,1.5fr) minmax(96px,1fr) minmax(150px,1.5fr) 28px!important;align-items:center}.gd-fc__line-wrap,.gd-fc__price-wrap{display:flex;min-width:0;align-items:center;gap:5px}.gd-fc__line-wrap input,.gd-fc__price-wrap input{min-width:0;width:100%!important;flex:1}.gd-fc__qty-unit{font-size:11px;color:#69806c;min-width:24px}.gd-fc__price-wrap select{min-width:74px!important;max-width:88px!important;padding:6px 21px 6px 6px!important;background-position:right 5px center!important;background-size:9px!important;font-size:11px!important;border:1px solid #dce2d8!important;border-radius:4px!important;height:42px!important;box-sizing:border-box!important}
@media(max-width:1050px){.gd-fc__categories{grid-template-columns:repeat(5,minmax(0,1fr));padding:14px;gap:7px}}
@media(max-width:600px){.gd-fc__categories{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:7px}.gd-fc .gd-fc__tile{min-height:90px}.gd-fc__tile img{height:54px}.gd-fc__ingredient-row--units{grid-template-columns:minmax(70px,1fr) minmax(75px,.95fr) minmax(110px,1.5fr) 22px!important;gap:4px!important}.gd-fc__price-wrap{flex-direction:column;align-items:stretch}.gd-fc__price-wrap select{max-width:100%!important;width:100%!important;height:30px!important}.gd-fc__qty-unit{font-size:10px}.gd-fc__line-wrap{gap:2px}.gd-fc__ingredient-row--units input{font-size:12px!important;padding:5px!important}}

/* v2.1.1: Price units for saved recipe ingredients are controlled by the admin. */
.gd-fc__price-unit-static{display:flex;align-items:center;justify-content:center;flex:0 0 67px;height:42px;min-width:0;border:1px solid #dce2d8;border-radius:4px;background:#f4f6f2;color:#586d5b;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.2;box-sizing:border-box}
.gd-fc__ingredient-table{overflow-x:auto;padding:7px 6px 10px;margin:-7px -6px -10px;width:calc(100% + 12px);max-width:none;scrollbar-gutter:stable}
.gd-fc__ingredient-row{padding:2px 1px 3px}
.gd-fc__ingredient-row input:focus,.gd-fc__ingredient-row select:focus{outline:2px solid #b49b5b!important;outline-offset:-2px!important;box-shadow:inset 0 0 0 1px #b49b5b!important}
.gd-fc__ingredient-row .gd-fc__price-wrap{gap:6px}
@media(max-width:600px){.gd-fc__price-unit-static{flex-basis:40px;font-size:10px;height:40px}.gd-fc__ingredient-table{padding:6px 4px 9px;margin:-6px -4px -9px;width:calc(100% + 8px)}.gd-fc__ingredient-row--units{grid-template-columns:minmax(70px,1fr) minmax(75px,.95fr) minmax(110px,1.5fr) 22px!important}}


/* v2.1.2 mobile carousel + stable ingredient layout */
.gd-fc__categories{position:relative}
.gd-fc__categories-track{display:contents}
.gd-fc__categories-nav{display:none}
.gd-fc__ingredient-row{min-width:0}
.gd-fc__line-wrap,.gd-fc__price-wrap{min-width:0}
.gd-fc__line-wrap input,.gd-fc__price-wrap input,.gd-fc__name{min-width:0}
@media(max-width:600px){
  .gd-fc__categories{display:block;padding:12px 46px;overflow:hidden}
  .gd-fc__categories-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 14px)/3);gap:7px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}
  .gd-fc__categories-track::-webkit-scrollbar{display:none}
  .gd-fc .gd-fc__tile{scroll-snap-align:start;min-height:98px;padding:8px 6px!important}
  .gd-fc__categories-nav{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border:1px solid #d5ddd1;border-radius:999px;background:#fff;color:#304535;box-shadow:0 3px 10px rgba(0,0,0,.06);z-index:2;padding:0;line-height:1;cursor:pointer}
  .gd-fc__categories-nav[disabled]{opacity:.45;cursor:default}
  .gd-fc__categories-nav--prev{left:10px}
  .gd-fc__categories-nav--next{right:10px}
  .gd-fc__categories-nav span{font-size:18px;font-weight:700;transform:translateY(-1px)}

  .gd-fc__ingredient-head{display:none}
  .gd-fc__ingredient-table{overflow:visible;padding:0;margin:0;width:100%}
  .gd-fc__ingredient-row--units{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 32px!important;
    grid-template-areas:
      'name name remove'
      'qty price remove';
    gap:8px!important;
    align-items:start;
    margin:0 0 14px;
    padding:0;
  }
  .gd-fc__ingredient-row .gd-fc__name{grid-area:name;height:42px!important}
  .gd-fc__ingredient-row .gd-fc__line-wrap{grid-area:qty;display:flex;align-items:stretch;gap:0;border:1px solid var(--gd-border);border-radius:4px;overflow:hidden;background:#fff}
  .gd-fc__ingredient-row .gd-fc__price-wrap{grid-area:price;display:flex;align-items:stretch;gap:0;background:#fff}
  .gd-fc__ingredient-row .gd-fc__line-wrap input,
  .gd-fc__ingredient-row .gd-fc__price-wrap input{height:42px!important;border:1px solid var(--gd-border)!important;border-radius:4px 0 0 4px!important;margin:0;padding:8px 10px!important;flex:1}
  .gd-fc__ingredient-row .gd-fc__line-wrap .gd-fc__qty-unit{display:flex;align-items:center;justify-content:center;min-width:34px;padding:0 8px;border:1px solid var(--gd-border);border-left:0;background:#f5f7f2;border-radius:0 4px 4px 0;font-size:11px;font-weight:600;color:#627662}
  .gd-fc__ingredient-row .gd-fc__price-wrap select,
  .gd-fc__ingredient-row .gd-fc__price-wrap .gd-fc__price-unit-static{width:70px!important;flex:0 0 70px;height:42px!important;border-left:0!important;border-radius:0 4px 4px 0!important;margin:0}
  .gd-fc__ingredient-row .gd-fc__price-wrap select{padding:8px 24px 8px 8px!important;background-position:right 8px center!important}
  .gd-fc__ingredient-row .gd-fc__remove{grid-area:remove;align-self:stretch;height:92px!important;min-width:32px!important;border-radius:4px!important}
  .gd-fc__ingredient-row input:focus,.gd-fc__ingredient-row select:focus{position:relative;z-index:1}
}

/* v2.1.4: robust mobile ingredient rows (avoid Porto input widths and wrapping). */
@media (max-width: 600px) {
  .gd-fc .gd-fc__ingredient-table,
  .gd-fc .gd-fc__ingredient-table [data-gd-lines] { width:100%!important; min-width:0!important; overflow:visible!important; }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    grid-template-rows:44px 44px 44px!important;
    grid-template-areas:'name remove' 'qty qty' 'price price'!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
    margin:0 0 12px!important;
    border:1px solid #e0e7db!important;
    border-radius:8px!important;
    background:#fbfcfa!important;
    box-sizing:border-box!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__name {
    grid-area:name!important; width:100%!important; min-width:0!important;
    height:44px!important; margin:0!important; box-sizing:border-box!important;
    border-radius:5px!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__remove {
    grid-area:remove!important; width:36px!important; min-width:36px!important;
    height:44px!important; min-height:44px!important; margin:0!important;
    align-self:stretch!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__line-wrap {
    grid-area:qty!important; display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    width:100%!important; height:44px!important; min-width:0!important;
    gap:0!important; margin:0!important; align-items:stretch!important;
    border:0!important; overflow:visible!important; background:transparent!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap {
    grid-area:price!important; display:grid!important;
    grid-template-columns:minmax(0,1fr) 65px!important;
    width:100%!important; height:44px!important; min-width:0!important;
    gap:0!important; margin:0!important; align-items:stretch!important;
    flex-direction:row!important; flex-wrap:nowrap!important;
    background:transparent!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__line-wrap > input,
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > input {
    display:block!important; width:100%!important; min-width:0!important; max-width:none!important;
    height:44px!important; min-height:44px!important; margin:0!important;
    border:1px solid #dce2d8!important; border-radius:5px 0 0 5px!important;
    padding:8px 12px!important; box-sizing:border-box!important;
    font-size:16px!important; line-height:1.3!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__line-wrap > .gd-fc__qty-unit,
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > .gd-fc__price-unit-static,
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > select {
    display:flex!important; align-items:center!important; justify-content:center!important;
    width:100%!important; min-width:0!important; max-width:none!important;
    height:44px!important; min-height:44px!important; flex:none!important;
    margin:0!important; padding:0 5px!important;
    border:1px solid #dce2d8!important; border-left:0!important;
    border-radius:0 5px 5px 0!important;
    background-color:#f3f6f1!important;
    box-sizing:border-box!important; line-height:1.2!important; font-size:12px!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > select {
    display:block!important; padding:0 22px 0 6px!important;
    background-position:right 6px center!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units input:focus {
    z-index:1!important; outline:2px solid #b49b5b!important; outline-offset:-2px!important;
  }
}


/* v2.1.5: readable net purchase prices and live per-ingredient costs */
.gd-fc .gd-fc__ingredient-row--units{grid-template-columns:minmax(94px,1.5fr) minmax(96px,1fr) minmax(170px,1.5fr) 28px!important}
.gd-fc .gd-fc__ingredient-row--units .gd-fc__line-cost{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 10px;margin-top:-4px;border-bottom:1px solid #edf0e9;color:#637463;font-size:12px;min-width:0}
.gd-fc .gd-fc__line-cost strong{color:#2f4935;font-weight:750;white-space:nowrap;font-size:14px}
.gd-fc .gd-fc__mobile-field-label{display:none}
.gd-fc .gd-fc__price-unit-static{flex:0 0 84px;white-space:nowrap;font-size:11px}
.gd-fc .gd-fc__price-wrap select{min-width:99px!important;max-width:115px!important;font-size:11px!important}
@media(max-width:600px){
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    grid-template-rows:44px auto 44px auto 44px auto!important;
    grid-template-areas:'name remove' 'qlabel qlabel' 'qty qty' 'plabel plabel' 'price price' 'linecost linecost'!important;
    gap:6px 8px!important;
    padding:14px!important;
    background:#fff!important;
    box-shadow:0 2px 12px rgba(24,49,30,.03);
  }
  .gd-fc .gd-fc__ingredient-row .gd-fc__mobile-field-label{
    grid-area:qlabel;display:block!important;color:#708071;font-size:11px;font-weight:650;line-height:1.4;margin:6px 0 0;
  }
  .gd-fc .gd-fc__ingredient-row .gd-fc__mobile-field-label--price{grid-area:plabel;margin-top:4px}
  .gd-fc .gd-fc__ingredient-row--units .gd-fc__line-cost{
    grid-area:linecost;grid-column:auto;display:flex!important;justify-content:space-between!important;
    align-items:center!important;gap:8px;padding:12px 0 0!important;margin:8px 0 0!important;
    border-top:1px solid #e6ebe2;border-bottom:0;font-size:11px;
  }
  .gd-fc .gd-fc__line-cost strong{font-size:16px;white-space:nowrap}
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap{
    grid-template-columns:minmax(0,1fr) 88px!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > .gd-fc__price-unit-static,
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > select{
    font-size:12px!important;max-width:none!important;min-width:0!important;white-space:nowrap!important;
  }
  .gd-fc .gd-fc__ingredient-row.gd-fc__ingredient-row--units > .gd-fc__price-wrap > select{
    padding-left:6px!important;padding-right:20px!important;
  }
}
