/* Themeable front-end styles for KitchenForge APF */
.kf-apf-wrap{
  --kf-apf-surface: var(--kf-surface, var(--kf-apf-theme-surface, #ffffff));
  --kf-apf-surface-alt: var(--kf-surface-alt, color-mix(in srgb, var(--kf-apf-theme-surface, #ffffff) 92%, var(--kf-apf-theme-text, #1a1a1a) 8%));
  --kf-apf-text: var(--kf-text, var(--gp-text, var(--greedy-text, var(--greedy-text-color, var(--wp--preset--color--foreground, var(--kf-apf-theme-text, currentColor))))));
  --kf-apf-muted: var(--kf-text-muted, var(--kf-muted, #6b7280));
  --kf-apf-border: var(--kf-border, var(--kf-apf-theme-border, rgba(0,0,0,.10))); 
  --kf-apf-field-bg: var(--kf-field-bg, var(--kf-apf-surface-alt));
  --kf-apf-field-text: var(--kf-field-text, var(--kf-apf-text));
  --kf-apf-label-text: var(--kf-label-text, var(--gp-text, var(--greedy-text, var(--greedy-text-color, var(--wp--preset--color--foreground, var(--kf-apf-text))))));
  --kf-apf-choice-bg: var(--kf-choice-bg, var(--kf-apf-surface));
  --kf-apf-choice-border: var(--kf-choice-border, var(--kf-apf-border));
  --kf-apf-choice-selected-bg: var(--kf-choice-selected-bg, color-mix(in srgb, var(--kf-apf-choice-bg) 84%, var(--kf-apf-theme-accent, var(--kf-primary, #4f46e5)) 16%));
  --kf-apf-choice-selected-border: var(--kf-choice-selected-border, var(--kf-apf-theme-accent, var(--kf-primary, #4f46e5))); 
  --kf-apf-choice-selected-text: var(--kf-choice-selected-text, var(--kf-apf-text));
  --kf-apf-accent: var(--kf-primary, var(--kf-apf-theme-accent, #4f46e5));
  margin:18px 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--kf-apf-text);
  box-shadow:none;
}
.kf-apf-group+.kf-apf-group{margin-top:12px;padding-top:0;border-top:0}
.kf-apf-group-title{margin:0 0 12px;font-size:1.1em;color:var(--kf-apf-label-text)}
.kf-apf-field{margin-bottom:14px}
.kf-apf-label{display:block;font-weight:600;margin-bottom:6px;color:var(--kf-apf-label-text) !important;opacity:1}
.kf-apf-description{font-size:.92em;color:var(--kf-apf-muted);margin-bottom:8px;opacity:1}
.kf-apf-required{color:#d63638}
.kf-apf-input,.kf-apf-select,.kf-apf-wrap textarea{
  width:100%;max-width:100%;padding:10px 12px;
  border:1px solid var(--kf-apf-border);
  border-radius:999px;
  background:var(--kf-apf-field-bg);
  color:var(--kf-apf-field-text);
}
.kf-apf-select{
  min-height:48px;
  height:48px;
  line-height:48px;
  padding-top:0;
  padding-bottom:0;
  padding-left:2.75em;
  padding-right:2.75em;
  font-weight:700;
  text-align:center !important;
  text-align-last:center !important;
  -moz-text-align-last:center;
  appearance:auto;
}
.kf-apf-select option{
  text-align:center;
  color:var(--kf-apf-field-text);
  background:var(--kf-apf-field-bg);
}
.kf-apf-wrap textarea{border-radius:16px;min-height:110px;resize:vertical}
.kf-apf-input::placeholder,.kf-apf-wrap textarea::placeholder{color:var(--kf-apf-muted)}
.kf-apf-input:focus,.kf-apf-select:focus,.kf-apf-wrap textarea:focus{
  outline:none;
  border-color:var(--kf-apf-accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--kf-apf-accent) 18%, transparent);
}
.kf-apf-choices{display:grid;gap:8px}
.kf-apf-choice{
  display:block;
  border:0;
  border-radius:0;
  padding:0;
  cursor:pointer;
  background:transparent;
  color:var(--kf-apf-text);
  transition:color .18s ease;
}
.kf-apf-choice:hover{color:var(--kf-apf-accent)}
.kf-apf-choice:has(input:checked){
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.kf-apf-choice:has(input:checked) .kf-apf-choice-inner span{color:var(--kf-apf-choice-selected-text)}
.kf-apf-choice-inner{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;position:relative}
.kf-apf-choice input[type="checkbox"],.kf-apf-choice input[type="radio"]{
  accent-color:var(--kf-apf-accent);
  width:22px;height:22px;flex:0 0 auto;
}
.kf-apf-option-image{width:26px;height:26px;object-fit:cover;border-radius:999px}
.kf-apf-cart-meta-list{margin:8px 0 0 18px;padding:0;list-style:disc}
.kf-apf-cart-meta-list li{margin:2px 0}
.kf-apf-cart-meta-list strong{font-weight:700}

.kf-apf-choice-inner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:color-mix(in srgb, var(--kf-apf-text) 10%, transparent 90%)}
.kf-apf-choice:last-child .kf-apf-choice-inner::after{display:none}

.kf-apf-yes-no-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kf-apf-toggle-chip{position:relative;display:block;cursor:pointer}
.kf-apf-toggle-chip input{position:absolute;opacity:0;pointer-events:none}
.kf-apf-toggle-chip-label{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid var(--kf-apf-choice-border);border-radius:999px;background:var(--kf-apf-choice-bg);color:var(--kf-apf-text);font-weight:700;text-transform:lowercase;transition:all .18s ease}
.kf-apf-toggle-chip input:checked + .kf-apf-toggle-chip-label{background:var(--kf-apf-choice-selected-bg);border-color:var(--kf-apf-choice-selected-border);color:var(--kf-apf-choice-selected-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--kf-apf-accent) 12%, transparent)}
.kf-apf-toggle-chip input:focus-visible + .kf-apf-toggle-chip-label{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--kf-apf-accent) 18%, transparent)}
.kf-apf-preview-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kf-apf-preview-toggle-chip{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-weight:700}
.kf-apf-preview-toggle-chip.is-active{background:#111827;color:#fff;border-color:#111827}

/* Theme colour integration: themes may override these variables directly. */
.kf-apf-wrap[data-kf-apf-themeable="1"] .kf-apf-toggle-chip input:checked + .kf-apf-toggle-chip-label{
  color:var(--kf-apf-theme-button-text, var(--kf-apf-choice-selected-text));
}
.single_add_to_cart_button + .kf-apf-wrap,
.kf-apf-wrap + .single_add_to_cart_button{border-color:var(--kf-apf-border)}

/* Theme label/readability fixes. Keep APF text inherited from the active theme unless explicitly overridden. */
.kf-apf-wrap .kf-apf-label,
.kf-apf-wrap .kf-apf-group-title{
  color:var(--kf-apf-label-text) !important;
}
.kf-apf-wrap .kf-apf-select{
  text-align:center !important;
  text-align-last:center !important;
  -moz-text-align-last:center;
}




/* v1.3.12 visual reset: APF fields should appear before totals, use touch-friendly selects, and keep selected checkbox text readable. */
.kf-apf-wrap{
  margin:18px 0 22px;
}
.kf-apf-field{
  margin-bottom:22px;
  text-align:center;
}
.kf-apf-field .kf-apf-label{
  text-align:center;
  font-size:clamp(18px, 4vw, 28px);
  line-height:1.2;
  margin-bottom:12px;
}
.kf-apf-select{
  display:block;
  width:min(100%, 360px);
  max-width:100%;
  min-height:64px;
  height:64px;
  margin:0 auto;
  padding:0 48px;
  border-radius:22px;
  font-size:clamp(16px, 3.6vw, 22px);
  font-weight:800;
  line-height:64px;
  text-align:center !important;
  text-align-last:center !important;
  -moz-text-align-last:center !important;
  background-color:var(--kf-apf-field-bg);
  color:var(--kf-apf-field-text);
  border-color:var(--kf-apf-choice-selected-border, var(--kf-apf-border));
  box-shadow:0 0 0 1px color-mix(in srgb, var(--kf-apf-accent) 18%, transparent), inset 0 0 18px color-mix(in srgb, var(--kf-apf-accent) 8%, transparent);
}
.kf-apf-select option{
  text-align:center;
  color:var(--kf-apf-field-text);
  background:var(--kf-apf-field-bg);
}
.kf-apf-choice,
.kf-apf-choice:hover,
.kf-apf-choice:has(input:checked),
.kf-apf-choice:has(input:checked) .kf-apf-choice-inner span{
  color:var(--kf-apf-text) !important;
  opacity:1 !important;
}
.kf-apf-choice-inner{
  max-width:360px;
  margin:0 auto;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:14px;
  padding:14px 0;
  text-align:left;
}
.kf-apf-choice input[type="checkbox"],
.kf-apf-choice input[type="radio"]{
  width:28px;
  height:28px;
}
.kf-apf-choices{
  gap:4px;
}
.kf-apf-description{
  text-align:center;
  margin:8px auto 14px;
  max-width:520px;
}


/* v1.3.14: oversized theme-aware checkbox/radio controls */
.kf-apf-choice-inner{
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:16px;
  min-height:54px;
}
.kf-apf-choice input[type="checkbox"],
.kf-apf-choice input[type="radio"]{
  appearance:none;
  -webkit-appearance:none;
  width:36px;
  height:36px;
  margin:0;
  display:inline-grid;
  place-content:center;
  border:2px solid color-mix(in srgb, var(--kf-apf-text) 30%, transparent);
  background:color-mix(in srgb, var(--kf-apf-surface) 92%, var(--kf-apf-text) 8%);
  color:var(--kf-apf-accent);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--kf-apf-accent) 10%, transparent), inset 0 0 14px color-mix(in srgb, #000 18%, transparent);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.kf-apf-choice input[type="checkbox"]{
  border-radius:10px;
}
.kf-apf-choice input[type="radio"]{
  border-radius:999px;
}
.kf-apf-choice input[type="checkbox"]::before{
  content:"✓";
  font-size:30px;
  line-height:1;
  font-weight:900;
  transform:scale(0);
  color:var(--kf-apf-theme-button-text, #fff);
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.kf-apf-choice input[type="radio"]::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:999px;
  transform:scale(0);
  background:var(--kf-apf-theme-button-text, #fff);
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}
.kf-apf-choice input[type="checkbox"]:checked,
.kf-apf-choice input[type="radio"]:checked{
  background:var(--kf-apf-accent);
  border-color:var(--kf-apf-accent);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--kf-apf-accent) 26%, transparent), 0 0 16px color-mix(in srgb, var(--kf-apf-accent) 40%, transparent);
}
.kf-apf-choice input[type="checkbox"]:checked::before,
.kf-apf-choice input[type="radio"]:checked::before{
  transform:scale(1);
}
.kf-apf-choice input[type="checkbox"]:focus-visible,
.kf-apf-choice input[type="radio"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--kf-apf-accent) 38%, transparent), 0 0 18px color-mix(in srgb, var(--kf-apf-accent) 45%, transparent);
}
.kf-apf-choice span{
  color:var(--kf-apf-text) !important;
  opacity:1 !important;
}


/* v1.3.17: compact mobile-first visual reset for selects and checkbox lists. */
.kf-apf-wrap{
  margin:16px 0 18px;
}
.kf-apf-wrap .kf-apf-group + .kf-apf-group{
  margin-top:20px;
  padding-top:14px;
}
.kf-apf-wrap .kf-apf-field{
  margin:0 0 18px;
  text-align:center;
}
.kf-apf-wrap .kf-apf-label,
.kf-apf-wrap .kf-apf-group-title{
  color:var(--kf-apf-label-text) !important;
  opacity:1 !important;
}
.kf-apf-wrap .kf-apf-field .kf-apf-label{
  margin:0 0 8px;
  font-size:clamp(18px, 3.8vw, 26px);
  line-height:1.15;
  font-weight:800;
  text-align:center;
}
.kf-apf-wrap .kf-apf-select{
  display:block;
  width:min(100%, 440px) !important;
  max-width:92vw !important;
  min-width:min(100%, 300px);
  min-height:62px !important;
  height:62px !important;
  margin:0 auto !important;
  padding:0 46px !important;
  border-radius:20px !important;
  font-size:clamp(16px, 3.4vw, 21px) !important;
  line-height:62px !important;
  font-weight:800 !important;
  text-align:center !important;
  text-align-last:center !important;
  -moz-text-align-last:center !important;
  background-color:var(--kf-apf-field-bg) !important;
  color:var(--kf-apf-field-text) !important;
  border:2px solid color-mix(in srgb, var(--kf-apf-accent) 50%, transparent) !important;
  box-shadow:0 0 16px color-mix(in srgb, var(--kf-apf-accent) 14%, transparent), inset 0 0 14px color-mix(in srgb, #000 18%, transparent) !important;
}
.kf-apf-wrap .kf-apf-select option{
  text-align:center;
  color:var(--kf-apf-field-text);
  background:var(--kf-apf-field-bg);
}
.kf-apf-wrap .kf-apf-choices{
  display:grid;
  gap:0 !important;
  max-width:440px;
  margin:0 auto;
}
.kf-apf-wrap .kf-apf-choice{
  margin:0 !important;
  padding:0 !important;
  color:var(--kf-apf-text) !important;
}
.kf-apf-wrap .kf-apf-choice-inner{
  max-width:440px !important;
  min-height:44px !important;
  margin:0 auto !important;
  padding:8px 0 !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  gap:12px !important;
  align-items:center !important;
}
.kf-apf-wrap .kf-apf-choice-inner::after{
  left:46px;
  right:0;
  background:color-mix(in srgb, var(--kf-apf-text) 12%, transparent 88%);
}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"],
.kf-apf-wrap .kf-apf-choice input[type="radio"]{
  width:30px !important;
  height:30px !important;
  border-radius:9px;
}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"]::before{
  font-size:25px !important;
}
.kf-apf-wrap .kf-apf-choice input[type="radio"]::before{
  width:15px !important;
  height:15px !important;
}
.kf-apf-wrap .kf-apf-choice span{
  color:var(--kf-apf-text) !important;
  opacity:1 !important;
  font-size:clamp(15px, 3.2vw, 20px);
  line-height:1.25;
}
.kf-apf-wrap .kf-apf-description{
  margin:6px auto 10px;
  max-width:440px;
}
@media (max-width:480px){
  .kf-apf-wrap .kf-apf-select{
    width:min(100%, 360px) !important;
    max-width:86vw !important;
    min-width:260px;
  }
  .kf-apf-wrap .kf-apf-choices,
  .kf-apf-wrap .kf-apf-choice-inner{
    max-width:360px !important;
  }
}


/* v1.3.19: safe layout/style repair.
   Do not reorder quantity/buttons. Only make APF a normal full-width row inside form.cart
   and restore theme-aware dark/tinted controls without forcing white browser styling. */
.woocommerce div.product form.cart,
.single-product form.cart,
form.cart{
  flex-wrap:wrap;
}
.woocommerce div.product form.cart .kf-apf-wrap,
.single-product form.cart .kf-apf-wrap,
form.cart .kf-apf-wrap{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  clear:both !important;
  margin:16px 0 18px !important;
}
.kf-apf-wrap{
  --kf-apf-control-bg: var(--kf-apf-select-bg, color-mix(in srgb, var(--kf-apf-text, currentColor) 7%, transparent));
  --kf-apf-control-text: var(--kf-apf-field-text, var(--kf-apf-text, currentColor));
  --kf-apf-control-border: color-mix(in srgb, var(--kf-apf-accent, currentColor) 58%, transparent);
  --kf-apf-control-glow: color-mix(in srgb, var(--kf-apf-accent, currentColor) 22%, transparent);
}
.kf-apf-wrap .kf-apf-field{
  max-width:420px;
  width:100%;
  margin:0 auto 14px !important;
  text-align:center;
}
.kf-apf-wrap .kf-apf-field .kf-apf-label{
  color:var(--kf-apf-label-text, var(--kf-apf-text, currentColor)) !important;
  opacity:1 !important;
  margin:0 0 8px !important;
  text-align:center !important;
  font-weight:800 !important;
}
.kf-apf-wrap .kf-apf-select{
  display:block !important;
  width:min(100%, 340px) !important;
  max-width:88vw !important;
  min-width:250px !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 auto !important;
  padding:0 44px !important;
  border-radius:18px !important;
  border:2px solid var(--kf-apf-control-border) !important;
  background:var(--kf-apf-control-bg) !important;
  color:var(--kf-apf-control-text) !important;
  box-shadow:0 0 14px var(--kf-apf-control-glow), inset 0 0 16px color-mix(in srgb, #000 20%, transparent) !important;
  font-size:clamp(15px, 3.2vw, 20px) !important;
  font-weight:800 !important;
  line-height:58px !important;
  text-align:center !important;
  text-align-last:center !important;
  -moz-text-align-last:center !important;
}
.kf-apf-wrap .kf-apf-select option{
  color:var(--kf-apf-control-text) !important;
  background:var(--kf-apf-control-bg) !important;
  text-align:center;
}
.kf-apf-wrap .kf-apf-choices{
  width:min(100%, 360px) !important;
  max-width:88vw !important;
  margin:0 auto !important;
  display:grid !important;
  gap:0 !important;
}
.kf-apf-wrap .kf-apf-choice-inner{
  width:100% !important;
  max-width:360px !important;
  min-height:42px !important;
  margin:0 auto !important;
  padding:7px 0 !important;
  display:grid !important;
  grid-template-columns:30px minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:center !important;
  text-align:left !important;
}
.kf-apf-wrap .kf-apf-choice-inner::after{
  left:40px !important;
  right:0 !important;
  background:color-mix(in srgb, var(--kf-apf-text, currentColor) 12%, transparent 88%) !important;
}
.kf-apf-wrap .kf-apf-choice:last-child .kf-apf-choice-inner::after{display:none !important;}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"],
.kf-apf-wrap .kf-apf-choice input[type="radio"]{
  width:26px !important;
  height:26px !important;
  border:2px solid var(--kf-apf-control-border) !important;
  background:var(--kf-apf-control-bg) !important;
  box-shadow:0 0 9px var(--kf-apf-control-glow), inset 0 0 10px color-mix(in srgb, #000 18%, transparent) !important;
}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"]{border-radius:8px !important;}
.kf-apf-wrap .kf-apf-choice input[type="radio"]{border-radius:999px !important;}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"]::before{font-size:21px !important;}
.kf-apf-wrap .kf-apf-choice input[type="radio"]::before{width:13px !important;height:13px !important;}
.kf-apf-wrap .kf-apf-choice input[type="checkbox"]:checked,
.kf-apf-wrap .kf-apf-choice input[type="radio"]:checked{
  background:var(--kf-apf-accent, currentColor) !important;
  border-color:var(--kf-apf-accent, currentColor) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--kf-apf-accent, currentColor) 22%, transparent), 0 0 14px color-mix(in srgb, var(--kf-apf-accent, currentColor) 42%, transparent) !important;
}
.kf-apf-wrap .kf-apf-choice span{
  color:var(--kf-apf-text, currentColor) !important;
  opacity:1 !important;
  font-size:clamp(15px, 3vw, 19px) !important;
  line-height:1.2 !important;
}
@media (max-width:480px){
  .kf-apf-wrap .kf-apf-field{max-width:340px;}
  .kf-apf-wrap .kf-apf-select{width:min(100%, 320px) !important;min-width:240px !important;}
  .kf-apf-wrap .kf-apf-choices,
  .kf-apf-wrap .kf-apf-choice-inner{max-width:320px !important;}
}


/* v1.3.20: cleaner APF cart/basket metadata.
   Keep labels neon/accent and values readable white, without turning the whole basket into a pink block. */
.kf-apf-cart-meta-list{
  margin:6px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
  display:grid !important;
  gap:3px !important;
}
.kf-apf-cart-meta-list li{
  margin:0 !important;
  padding:0 !important;
  line-height:1.25 !important;
}
.kf-apf-cart-row{
  display:block;
  font-size:.92em;
  line-height:1.25;
}
.kf-apf-cart-label,
.kf-apf-cart-meta-list strong{
  color:var(--kf-apf-cart-label, var(--kf-apf-theme-accent, var(--gp-pink, var(--greedy-pink, var(--greedy-accent, #ff97cd))))) !important;
  font-weight:800 !important;
  text-shadow:0 0 8px color-mix(in srgb, currentColor 30%, transparent);
}
.kf-apf-cart-value{
  color:var(--kf-apf-cart-value, var(--gp-text, var(--greedy-text, var(--greedy-text-color, #ffffff)))) !important;
  font-weight:600 !important;
  text-shadow:none !important;
}
.kf-apf-price-adjustment{
  color:inherit !important;
  font-weight:inherit !important;
}
.woocommerce-cart .kf-apf-cart-meta-list,
.woocommerce-checkout-review-order .kf-apf-cart-meta-list,
.widget_shopping_cart .kf-apf-cart-meta-list{
  margin-top:4px !important;
}


/* v1.3.21 cart/basket APF readability: pink labels, white values, tighter rows. */
.kf-apf-cart-meta-list,
.woocommerce .kf-apf-cart-meta-list,
.widget_shopping_cart .kf-apf-cart-meta-list,
.woocommerce-mini-cart .kf-apf-cart-meta-list{
  margin:6px 0 0 1.15em !important;
  padding:0 !important;
  line-height:1.22 !important;
}
.kf-apf-cart-meta-list li,
.woocommerce .kf-apf-cart-meta-list li,
.widget_shopping_cart .kf-apf-cart-meta-list li,
.woocommerce-mini-cart .kf-apf-cart-meta-list li{
  margin:3px 0 !important;
  padding:0 !important;
  color:var(--kf-apf-cart-value-color,var(--gp-text,var(--greedy-text,var(--greedy-text-color,#fff)))) !important;
}
.kf-apf-cart-row{
  display:block !important;
  line-height:1.25 !important;
  margin:0 !important;
}
.kf-apf-cart-label{
  color:var(--kf-apf-cart-label-color,var(--gp-pink,var(--greedy-pink,var(--kf-apf-theme-accent,#ff97cd)))) !important;
  font-weight:800 !important;
}
.kf-apf-cart-value,
.kf-apf-cart-value *{
  color:var(--kf-apf-cart-value-color,var(--gp-text,var(--greedy-text,var(--greedy-text-color,#fff)))) !important;
  font-weight:600 !important;
}
.kf-apf-price-adjustment{
  color:inherit !important;
  opacity:.92 !important;
}


/* v1.3.25: make global APF groups flow as one single form, with no separators. */
.kf-apf-wrap .kf-apf-group + .kf-apf-group {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 12px !important;
}
.kf-apf-wrap .kf-apf-group {
  border: 0 !important;
  box-shadow: none;
}


/* v1.3.26: ensure full APF price adjustments inherit accent colour including currency symbol */
.kf-apf-price-adjustment,
.kf-apf-price-adjustment .woocommerce-Price-amount,
.kf-apf-price-adjustment .woocommerce-Price-currencySymbol{
  color:var(--kf-apf-accent,#ff97cd)!important;
}


/* v1.3.27: force the complete APF option price fragment to one accent colour.
   This covers Woo's amount/currency spans AND the plain bracket/+ text around them. */
.kf-apf-wrap .kf-apf-price-adjustment,
.kf-apf-wrap .kf-apf-price-adjustment *,
.kf-apf-wrap .kf-apf-option-price,
.kf-apf-wrap .kf-apf-option-price *,
.kf-apf-wrap .kf-apf-choice-price,
.kf-apf-wrap .kf-apf-choice-price *,
.kf-apf-wrap .woocommerce-Price-amount,
.kf-apf-wrap .woocommerce-Price-amount *,
.kf-apf-wrap .woocommerce-Price-currencySymbol{
  color:var(--kf-apf-accent,#ff97cd)!important;
  -webkit-text-fill-color:var(--kf-apf-accent,#ff97cd)!important;
}
