.kjft{
  --kj-black:#121212;
  --kj-charcoal:#262626;
  --kj-red:#d23832;
  --kj-red-dark:#b72d28;
  --kj-white:#fff;
  --kj-text:#1f1f1f;
  --kj-muted:#6b6b6b;
  --kj-border:#dedede;
  --kj-soft:#f5f5f5;
  color:var(--kj-text);
  font:inherit;
  max-width:1100px;
  margin:0 auto;
  padding:16px;
  box-sizing:border-box;
}
.kjft *, .kjft *::before, .kjft *::after{box-sizing:border-box}
.kjft section{scroll-margin-top:90px}
.kjft h1,.kjft h2,.kjft h3,.kjft p{margin-top:0}
.kjft h1{font-size:clamp(2.1rem,6vw,4rem);line-height:1.03;margin-bottom:14px;letter-spacing:-.035em}
.kjft h2{font-size:clamp(1.6rem,4vw,2.35rem);line-height:1.08;margin-bottom:12px;letter-spacing:-.02em}
.kjft p{line-height:1.55}
.kjft-kicker{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;margin-bottom:7px}
.kjft-kicker-red{color:var(--kj-red)}
.kjft-lead{font-size:clamp(1rem,2.4vw,1.2rem);max-width:780px;color:#d9d9d9}
.kjft-lead-small{font-weight:800}
.kjft-muted{color:var(--kj-muted)}
.kjft-small{font-size:.9rem}

.kjft-hero,.kjft-result,.kjft-public,.kjft-final-cta{background:var(--kj-black);color:var(--kj-white);border-radius:22px;padding:clamp(22px,5vw,44px);margin-bottom:28px}
.kjft-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.kjft-path-card{border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:20px;background:rgba(255,255,255,.05)}
.kjft-path-card h2{font-size:1.45rem;margin:5px 0 8px}
.kjft-path-card p{color:#d0d0d0;min-height:48px}
.kjft-path-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#bdbdbd}

.kjft-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:11px 18px;border-radius:12px;font-weight:900;text-decoration:none!important;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease;color:#fff!important}
.kjft-btn:hover{transform:translateY(-1px)}
.kjft-btn-primary{background:var(--kj-red);border-color:var(--kj-red)}
.kjft-btn-primary:hover{background:var(--kj-red-dark);border-color:var(--kj-red-dark)}
.kjft-btn-outline{background:transparent;border-color:rgba(255,255,255,.7)}
.kjft-btn-outline:hover{background:rgba(255,255,255,.08)}

.kjft-included,.kjft-menu,.kjft-basics{margin:34px 0;padding:0 4px}
.kjft-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.kjft-value-grid>div{border-top:1px solid var(--kj-border);padding:15px 0}
.kjft-value-grid strong,.kjft-value-grid span{display:block}
.kjft-value-grid strong{font-size:1.02rem}
.kjft-value-grid span{font-size:.9rem;color:var(--kj-muted);margin-top:3px}

.kjft-calculator{border:1px solid var(--kj-border);border-radius:22px;padding:clamp(20px,5vw,38px);background:#fff;margin:30px 0}
.kjft-field-block{margin-top:28px}
.kjft-label,.kjft-fieldset legend{font-size:1.15rem;font-weight:900;margin-bottom:10px;display:block}
.kjft-fieldset{border:0;padding:0;margin-left:0;margin-right:0}
.kjft input[type="number"],.kjft input[type="text"],.kjft select{width:100%;min-height:50px;border:1px solid #bdbdbd;border-radius:12px;padding:10px 13px;font:inherit;font-size:16px;background:#fff;color:#1d1d1d}
.kjft input:focus,.kjft select:focus{outline:3px solid rgba(210,56,50,.2);border-color:var(--kj-red)}
.kjft-pizza-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kjft-choice{border:2px solid var(--kj-border);border-radius:15px;padding:15px;cursor:pointer;display:block;min-width:0;background:#fff}
.kjft-choice:has(input:checked){border-color:var(--kj-red);background:#fff5f4}
.kjft-choice input{margin:0}
.kjft-choice-title,.kjft-choice-copy,.kjft-choice strong{display:block}
.kjft-choice-title{font-weight:900;font-size:1.08rem;margin-top:9px}
.kjft-choice-copy{color:var(--kj-muted);font-size:.9rem;margin:6px 0 12px;line-height:1.4}
.kjft-addon-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid var(--kj-border);padding:15px 0}
.kjft-addon-row label{display:flex;gap:12px;align-items:flex-start;min-width:0;cursor:pointer}
.kjft-addon-row input[type="checkbox"]{width:21px;height:21px;flex:0 0 auto;margin-top:2px;accent-color:var(--kj-red)}
.kjft-addon-row strong,.kjft-addon-row small{display:block}
.kjft-addon-row strong{font-size:1.06rem}
.kjft-addon-row small{color:var(--kj-muted);font-size:.88rem;margin-top:3px;line-height:1.35}
.kjft-addon-row b{white-space:nowrap}
.kjft-addon-included{background:#fafafa;margin-top:8px;padding-left:10px;padding-right:10px;border-radius:10px 10px 0 0}
.kjft-special-request{display:flex;gap:13px;align-items:flex-start;border:2px solid #d5d5d5;border-radius:15px;background:#f8f8f8;padding:16px;margin-top:16px}
.kjft-star{font-size:1.45rem;color:var(--kj-red);line-height:1.2}
.kjft-special-request strong{font-size:1.2rem}
.kjft-special-request p{margin:3px 0 0;color:var(--kj-muted)}
.kjft-calc-button{width:100%;margin-top:8px;font-size:1rem}
.kjft-form-message{min-height:22px;margin-top:10px;color:var(--kj-muted);font-size:.9rem}

.kjft-result{display:block}
.kjft-result[hidden]{display:none!important}
.kjft-total{font-size:clamp(2.6rem,8vw,4.7rem);font-weight:950;line-height:1;margin:6px 0 7px;letter-spacing:-.04em}
.kjft-result-sub{color:#bcbcbc;margin-bottom:19px}
.kjft-minimum-note{background:rgba(255,255,255,.1);border-radius:12px;padding:13px;margin-bottom:16px}
.kjft-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kjft-result-grid>div{background:rgba(255,255,255,.075);border-radius:12px;padding:13px}
.kjft-result-grid small,.kjft-result-grid strong{display:block}
.kjft-result-grid small{text-transform:uppercase;letter-spacing:.08em;color:#aaa;font-weight:800;font-size:.68rem}
.kjft-result-grid strong{margin-top:4px}
.kjft-result-includes{border-top:1px solid rgba(255,255,255,.15);margin-top:16px;padding-top:16px;display:grid;gap:7px;color:#d2d2d2;font-size:.91rem}
.kjft-result-fineprint{font-size:.78rem;color:#999;margin:16px 0}
.kjft-result-cta{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin-top:18px}
.kjft-result-cta strong{font-size:1.15rem}
.kjft-result-cta p{color:#d4d4d4;margin:5px 0 15px}

.kjft-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.kjft-info-grid>div{border-top:1px solid var(--kj-border);padding:14px 0}
.kjft-info-grid strong{font-size:1.05rem}
.kjft-info-grid p{color:var(--kj-muted);font-size:.92rem;margin:4px 0 0}
.kjft-special-request-bottom{margin-top:18px}
.kjft-basics{border:1px solid var(--kj-border);border-radius:18px;padding:24px;background:#fff}
.kjft-basics p{color:var(--kj-muted)}
.kjft-public p,.kjft-final-cta p{color:#d3d3d3;max-width:800px}
.kjft-final-cta{text-align:left;margin-top:30px}

@media (max-width:760px){
  /* Break out of narrow WordPress content columns so the mobile layout
     keeps the same comfortable 14px-ish viewport gutter as the review mockup. */
  .kjft{
    width:calc(100vw - 28px);
    max-width:none;
    margin-left:50%;
    margin-right:0;
    transform:translateX(-50%);
    padding:0;
  }

  .kjft h1{font-size:2.15rem;line-height:1.05}
  .kjft h2{font-size:1.82rem;line-height:1.08}
  .kjft-hero,.kjft-result,.kjft-public,.kjft-final-cta{padding:24px 20px;border-radius:18px;margin-bottom:24px}
  .kjft-calculator{padding:24px 20px;margin:26px 0;border-radius:18px}
  .kjft-included,.kjft-menu,.kjft-basics{margin:28px 0;padding-left:2px;padding-right:2px}
  .kjft-field-block{margin-top:24px}

  .kjft-paths,.kjft-pizza-grid,.kjft-info-grid,.kjft-result-grid{grid-template-columns:1fr}
  .kjft-paths{gap:12px;margin-top:22px}
  .kjft-path-card{padding:17px}
  .kjft-path-card p{min-height:0}

  /* Keep the included-value section in two columns on phones, matching
     the approved review layout instead of stretching every item full width. */
  .kjft-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .kjft-value-grid>div{padding:14px 0}
  .kjft-value-grid strong{font-size:1rem;line-height:1.25}
  .kjft-value-grid span{font-size:.88rem;line-height:1.35}

  /* Keep add-on price and item on the same row on normal phone widths. */
  .kjft-addon-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0}
  .kjft-addon-row>b{padding-left:0;white-space:normal;text-align:right;max-width:155px;font-size:.95rem}
  .kjft-addon-row strong{font-size:1rem}
  .kjft-addon-row small{font-size:.85rem}
  .kjft-addon-included{padding-left:10px;padding-right:10px}
  .kjft-special-request{padding:15px}
}

@media (max-width:350px){
  .kjft{width:calc(100vw - 20px)}
  .kjft-value-grid{gap:0 12px}
  .kjft-addon-row{grid-template-columns:1fr;gap:6px}
  .kjft-addon-row>b{text-align:left;padding-left:33px;max-width:none}
}

@media (prefers-reduced-motion:reduce){.kjft-btn{transition:none}.kjft-btn:hover{transform:none}}

/* v1.0.3: stronger mobile overrides so theme/container CSS cannot force the
   approved two-column value layout back into a single column. */
.kjft-js-warning{border:2px solid #d23832;background:#fff5f4;color:#1f1f1f;padding:14px;border-radius:12px;font-weight:800}
@media (max-width:760px){
  #kjft-root.kjft{width:calc(100vw - 28px)!important;max-width:none!important;margin-left:50%!important;margin-right:0!important;transform:translateX(-50%)!important;padding:0!important}
  #kjft-root .kjft-value-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 20px!important}
  #kjft-root .kjft-value-grid>div{width:auto!important;display:block!important;padding:14px 0!important}
  #kjft-root .kjft-addon-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
}


/* Food Truck landing page: keep the main-site link/logo, but remove shopping/account controls. */
body.kjft-foodtruck-page .wp-block-woocommerce-customer-account,
body.kjft-foodtruck-page .wp-block-woocommerce-mini-cart,
body.kjft-foodtruck-page .wc-block-customer-account,
body.kjft-foodtruck-page .wc-block-mini-cart,
body.kjft-foodtruck-page .wc-block-mini-cart__button,
body.kjft-foodtruck-page header [class*="woocommerce-customer-account"],
body.kjft-foodtruck-page header [class*="woocommerce-mini-cart"] {
    display: none !important;
}
