/* Alfa Food B2B v3.9.2 - Premium customer cart. Scoped to .afc-checkout. */
:root{--afc-green:#164b38;--afc-deep:#10392d;--afc-gold:#f5bf59;--afc-border:#e2eae3;--afc-gray:#69796e}
.nav .menu .af-v392-header-cart,.nav .menu .af-v392-header-cart.primary-cart,.nav .menu .af-v392-header-cart.cart-link.primary-cart{
  background:#f5bf59!important;color:#173c2b!important;border:1px solid #efad3c!important;
  box-shadow:0 6px 17px rgba(189,127,20,.15)!important;border-radius:13px!important;font-weight:900;
}
.nav .menu .af-v392-header-cart:hover,.nav .menu .af-v392-header-cart:focus-visible{background:#ffcf75!important;box-shadow:0 8px 24px rgba(189,127,20,.22)!important}
.nav .menu .af-v392-header-cart .cart-badge{background:#154a37;color:#fff;box-shadow:none;min-width:23px;height:23px}
.nav .menu .af-v392-cart-current{outline:2px solid rgba(27,94,58,.2);outline-offset:2px}
.afc-checkout{padding:28px 0 42px;--afc-ink:#153529;--afc-soft:#f1f6f0;color:var(--afc-ink)}
.afc-checkout *{box-sizing:border-box}
.afc-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.afc-eyebrow{color:#6f8b74;letter-spacing:.1em;font-size:11px;font-weight:900;text-transform:uppercase}
.afc-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.045em;margin:7px 0}
.afc-heading p{margin:0;color:#687b70;font-size:15px}
.afc-continue{display:inline-flex;justify-content:center;align-items:center;gap:8px;color:#1a5940;background:#fff;border:1px solid #d9e7dd;border-radius:13px;padding:12px 16px;font-size:13px;font-weight:900;white-space:nowrap;min-height:45px}
.afc-continue:hover{border-color:#80b39a;background:#f1f8f2}
.afc-progress{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:#486d56;font-size:12px;font-weight:800;flex-wrap:wrap}
.afc-progress-step{display:flex;gap:7px;align-items:center}
.afc-step-number{border-radius:50%;display:inline-grid;place-items:center;width:24px;height:24px;color:#fff;background:#1b6246;font-weight:900;font-size:12px}
.afc-progress-step:last-child .afc-step-number{background:#e8ede7;color:#42614e}
.afc-step-divider{font-size:22px;line-height:1;color:#b6c5b8}
.afc-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,345px);gap:18px;align-items:start}
.afc-left{min-width:0;display:grid;gap:16px}
.afc-panel{min-width:0;background:#fff;border:1px solid var(--afc-border);border-radius:23px;box-shadow:0 14px 32px rgba(19,61,42,.055);overflow:hidden}
.afc-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:23px 24px 16px}
.afc-panel-heading h2,.afc-summary h2{margin:5px 0 0;letter-spacing:-.025em;font-size:23px;line-height:1.2;color:#153e30}
.afc-count{border-radius:999px;background:#edf5ed;color:#205a42;font-size:12px;font-weight:900;padding:7px 11px;white-space:nowrap}
.afc-items{border-top:1px solid #edf1ed}
.afc-item{display:grid;grid-template-columns:72px minmax(0,1fr) 140px 110px;grid-template-areas:"thumb main controls total" "thumb price controls remove";gap:8px 15px;align-items:center;border-bottom:1px solid #e9eee9;padding:17px 22px;min-width:0}
.afc-thumb{grid-area:thumb;display:grid;place-items:center;width:72px;height:78px;border:1px solid #e7efe8;border-radius:15px;background:#f3f8f2;overflow:hidden}
.afc-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.afc-photo-empty{display:grid;place-items:center;color:#91b49b;font-size:31px}
.afc-item-main{grid-area:main;min-width:0;align-self:end}
.afc-item-code{font-size:10px;color:#548169;letter-spacing:.06em;font-weight:900;margin-bottom:5px}
.afc-item-main h3{font-size:13px;line-height:1.35;color:#18372c;font-weight:900;margin:0;overflow-wrap:anywhere}
.afc-item-main h3 a:hover{text-decoration:underline}
.afc-item-meta{color:#6c8374;font-size:11px;margin-top:6px}
.afc-step-hint{font-size:11px;color:#8b5f24;margin-top:3px}
.afc-item-price{grid-area:price;min-width:0;display:flex;align-items:baseline;gap:8px;align-self:start}
.afc-small-label{display:block;font-size:11px;color:#728277;font-weight:700}
.afc-item-price .afc-small-label{display:none}
.afc-item-price strong{font-size:12px;color:#41604c;overflow-wrap:anywhere}
.afc-item-controls{grid-area:controls;min-width:0}
.afc-quantity{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;border:1px solid #d8e6d9;border-radius:13px;overflow:hidden;background:#fff;margin-top:5px;height:44px}
.afc-quantity button{border:0;background:#eef5ef;min-height:42px;font-size:20px;color:#20573d;font-weight:800;padding:0;line-height:1}
.afc-quantity button:hover{background:#dcecdf}
.afc-quantity input{min-width:0;width:100%;min-height:42px;height:42px;padding:0 2px;border:0;border-radius:0;text-align:center;font-weight:900;color:#204633;font-size:14px;-moz-appearance:textfield;appearance:textfield;background:#fff}
.afc-quantity input::-webkit-inner-spin-button,.afc-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.afc-quantity input:focus{outline:2px solid #7cae8b;outline-offset:-2px}
.afc-item-total{grid-area:total;text-align:right}
.afc-item-total strong{display:block;font-size:16px;font-weight:900;color:#154b38;white-space:nowrap;margin-top:4px}
.afc-remove{grid-area:remove;border:0;justify-self:end;background:none;color:#a64c49;padding:7px 4px;font-size:12px;font-weight:800;line-height:1.2}
.afc-remove:hover{text-decoration:underline;color:#8e2323}
.afc-update-footer{padding:17px 22px;display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;background:#fbfdfb}
.afc-unsaved:not([hidden]){display:block;flex:1 1 240px;color:#8a571a;font-size:12px;font-weight:700}
.afc-btn{border:1px solid transparent;border-radius:13px;padding:12px 16px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-align:center;font-size:13px;font-weight:900;line-height:1.25;text-decoration:none}
.afc-btn-primary{background:#17503b;color:#fff;border-color:#17503b}
.afc-btn-primary:hover:not(:disabled){background:#0e3f2c;color:#fff}
.afc-btn-outline{background:#fff;color:#18533e;border-color:#cfe2d3}
.afc-btn-outline:hover{background:#edf7f0}
.afc-btn:disabled{opacity:.55;cursor:not-allowed}
.afc-needs-save{background:#f5bf59;color:#16432f;border-color:#f5bf59}
.afc-account-panel{background:#f0f6ef;border:1px solid #dbe8dc;border-radius:20px;padding:18px 22px;position:relative}
.afc-account-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.afc-account-heading h2{font-size:15px;margin:0}
.afc-account-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#e1eee1;color:#236344;font-size:20px}
.afc-account-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;line-height:1.7;color:#51705d}
.afc-account-details strong{display:block;color:#204833;font-size:13px}
.afc-account-details span{display:block}
.afc-account-edit{display:inline-block;margin-top:9px;color:#1b6346;font-weight:900;font-size:12px}
.afc-account-edit:hover{text-decoration:underline}
.afc-summary{padding:23px 22px;position:sticky;top:100px}
.afc-summary-note{color:#728476;font-size:12px;margin:9px 0 18px}
.afc-totals{border:1px solid #d8e9da;border-radius:16px;padding:12px 13px;background:#f7fbf7}
.afc-totals-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #e2ebe3;font-size:12px;color:#44604e}
.afc-totals-row:last-of-type{border-bottom:0}
.afc-totals-row strong{font-size:13px;color:#174330;white-space:nowrap}
.afc-totals-row small{color:#8b9d8f;font-size:10px;white-space:nowrap}
.afc-grand-total{margin-top:13px;padding-top:14px;border-top:2px solid #d2e4d3;display:flex;justify-content:space-between;align-items:center;gap:8px}
.afc-grand-total span{font-size:13px;font-weight:900;color:#154330}
.afc-grand-total small{display:block;color:#8a9a8d;font-size:10px;margin-top:2px}
.afc-grand-total strong{font-size:24px;letter-spacing:-.035em;color:#11523b;white-space:nowrap}
.afc-checkout-form{display:grid;gap:9px;margin-top:20px}
.afc-checkout-form label{font-size:12px;font-weight:900;color:#3f503f}
.afc-checkout-form select,.afc-checkout-form textarea{width:100%;min-height:44px;border:1px solid #d8e5da;border-radius:12px;background:#fff;padding:11px 12px;font-size:13px;color:#254633}
.afc-checkout-form textarea{min-height:75px;resize:vertical}
.afc-checkout-form select:focus,.afc-checkout-form textarea:focus{outline:2px solid #a4c9aa}
.afc-optional{font-weight:400;color:#85988a}
.afc-place-order{width:100%;margin-top:8px;min-height:52px;font-size:14px;background:#f4bd56;color:#153d2b;border-color:#f4bd56}
.afc-place-order:hover:not(:disabled){background:#eeb047;color:#153d2b}
.afc-safe-note{font-size:11px;color:#63796b;text-align:center;line-height:1.5;margin-top:2px}
.afc-disclaimer{font-size:11px;color:#7e8e81;line-height:1.6;margin:18px 0 0}
.afc-empty{text-align:center;padding:60px 24px;background:#fff;border:1px solid var(--afc-border);border-radius:24px}
.afc-empty-icon{font-size:44px}.afc-empty h2{margin:12px 0 4px}.afc-empty p{color:#6b8071}
.afc-empty-actions{display:flex;justify-content:center;gap:10px;margin-top:21px;flex-wrap:wrap}
@media(max-width:1140px){
  .afc-checkout-grid{grid-template-columns:1fr}
  .afc-summary{position:static;max-width:none}
}
@media(max-width:740px){
  .afc-checkout{padding:20px 0 35px}
  .afc-heading{align-items:stretch;flex-direction:column;gap:12px}
  .afc-heading h1{font-size:32px}
  .afc-continue{align-self:flex-start}
  .afc-progress{font-size:11px;gap:8px}
  .afc-panel{border-radius:20px}
  .afc-panel-heading{padding:20px 16px 16px}
  .afc-panel-heading h2{font-size:20px}
  .afc-item{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"thumb main" "price price" "controls total" "remove remove";gap:11px 13px;padding:16px}
  .afc-thumb{width:72px;height:79px}
  .afc-item-main{align-self:center}
  .afc-item-price{border-top:1px solid #edf2ed;padding-top:10px;align-items:center}
  .afc-item-price .afc-small-label{display:inline-block}
  .afc-item-price strong{font-size:13px}
  .afc-item-controls{width:160px;max-width:100%}
  .afc-item-total strong{font-size:17px}
  .afc-remove{justify-self:end;padding:5px}
  .afc-update-footer{padding:15px 16px}
  .afc-update-button{width:100%}
  .afc-account-panel{padding:16px}
  .afc-account-details{grid-template-columns:1fr}
  .afc-summary{padding:20px 17px}
  .afc-grand-total strong{font-size:23px}
}
@media(max-width:380px){
  .afc-item-controls{width:142px}
  .afc-item{padding:13px}
  .afc-panel-heading{padding:16px 13px}
  .afc-grand-total strong{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.afc-checkout *{scroll-behavior:auto}}
