
/* ===== Kooka Accordion (outer + nested) ===== */
.kooka-acc{ --kooka-accent:#2e7d6b; width:100%; font-family: Montserrat;}
.kooka-acc .kooka-acc-item{ border-top:2px solid var(--kooka-accent);font-family: Montserrat; }
.kooka-acc .kooka-acc-item:first-child{ border-top:0; }

.kooka-acc .kooka-acc-title{
  width:100%;
  background:transparent;
  border:0;
  padding:28px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  cursor:pointer;
  color:var(--kooka-accent);
}
.kooka-acc-title-text, .kpag-title-text{font-family: Montserrat;}
.kpag-title-text{font-size:26px;}
.kooka-acc-size-lg .kooka-acc-title{ font-size:30px; line-height:1.1; font-weight:700; letter-spacing:-0.02em; }
.kooka-acc-size-md .kooka-acc-title{ font-size:30px; line-height:1.15; font-weight:700; letter-spacing:-0.015em; padding:22px 0; }
.kooka-acc-size-sm .kooka-acc-title{ font-size:24px; line-height:1.2; font-weight:700; padding:18px 0; }

.kooka-acc .kooka-acc-icon{
  font-size:44px;
  font-weight:700;
  line-height:1;
  transform-origin:center;
  transition:transform 180ms ease;
  color:var(--kooka-accent);
}
.kooka-acc-size-md .kooka-acc-icon{ font-size:30px; }
.kooka-acc-size-sm .kooka-acc-icon{ font-size:26px; }
.kooka-acc-item.is-open .kooka-acc-icon{ transform:rotate(45deg); }

.kooka-acc .kooka-acc-panel{ padding: 8px 0 40px; }
.kooka-acc-size-md .kooka-acc-panel{ padding-bottom: 34px; }
.kooka-acc-size-sm .kooka-acc-panel{ padding-bottom: 26px; }

.kooka-acc .kooka-acc-panel-inner{ padding-top: 4px; }
.kooka-acc .kooka-acc-note{ color:#8b8b8b; font-size:16px; margin:-10px 0 18px; }

/* ===== Pantry inner (categories + products) ===== */
.kpag-inner .kpag-item{ border-top:2px solid var(--kooka-accent); }
.kpag-inner .kpag-item:first-child{ border-top:0; }

.kpag-inner .kpag-title{
  width:100%;
  background:transparent;
  border:0;
  padding:22px 0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  cursor:pointer;
  color:var(--kooka-accent);
  font-size:30px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-0.015em;
}

.kpag-inner .kpag-title-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

.kpag-inner .kpag-note{
  color:#8b8b8b;
  font-size:16px;
  line-height:1.35;
  font-weight:400;
  letter-spacing:0;
  display:none;
}

/* Show category note only when accordion item is open */
.kpag-item.is-open .kpag-note,
.kpag-title[aria-expanded="true"] .kpag-note{
  display:block;
}

.kpag-inner .kpag-icon{
  font-size:34px;
  font-weight:700;
  line-height:1;
  transform-origin:center;
  transition:transform 180ms ease;
  color:var(--kooka-accent);
}
.kpag-inner .kpag-item.is-open .kpag-icon{ transform:rotate(45deg); }

.kpag-inner .kpag-panel{ padding: 8px 0 34px; }
.kpag-inner .kpag-panel-inner{ padding-top: 4px; }

.kpag-inner .kpag-grid{
  --kpag-cols:4; --kpag-cols-tablet:2; --kpag-cols-mobile:1;
  display:grid;
  grid-template-columns: repeat(var(--kpag-cols), minmax(0,1fr));
  gap:46px;
  margin-top:14px;
}
.kpag-inner .kpag-card{ width:100%; }
.kpag-inner .kpag-img-wrap{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  border:2px solid #d9d9d9;
  overflow:hidden;
  background:#fff;
}
.kpag-inner .kpag-img{ width:100%; height:100%; object-fit:cover; display:block; }
.kpag-inner .kpag-meta{ padding-top:14px; }
.kpag-inner .kpag-name, .kpag-inner .kpag-price{ font-size:16px; line-height:1.35; color:#7a7a7a; }
.kpag-inner .kpag-name{ margin-bottom:4px; }
.kpag-empty{ color:#777; padding: 6px 0 0; }

@media (max-width: 999px){
  .kooka-acc-size-lg .kooka-acc-title{ font-size:36px; }
  .kooka-acc-size-lg .kooka-acc-icon{ font-size:34px; }
  .kpag-inner .kpag-title{ font-size:28px; padding:18px 0; }
  .kpag-inner .kpag-note{ font-size:14px; }
  .kpag-inner .kpag-icon{ font-size:28px; }
  .kpag-inner .kpag-grid{ grid-template-columns: repeat(var(--kpag-cols-tablet), minmax(0,1fr)); gap:28px; }
}
@media (max-width: 599px){
  .kooka-acc-size-lg .kooka-acc-title{ font-size:28px; padding:22px 0; }
  .kooka-acc-size-lg .kooka-acc-icon{ font-size:28px; }
  .kpag-inner .kpag-title{ font-size:24px; padding:16px 0; }
  .kpag-inner .kpag-note{ font-size:13px; }
  .kpag-inner .kpag-icon{ font-size:24px; }
  .kpag-inner .kpag-grid{ grid-template-columns: repeat(var(--kpag-cols-mobile), minmax(0,1fr)); gap:22px; }
}


/* Price selector */
.kpag-inner .kpag-price-toggle{
  display:flex;
  gap:10px;
  margin: 0 0 18px;
}
.kpag-inner .kpag-price-btn{
  border:2px solid var(--kooka-accent);
  background:transparent;
  color:var(--kooka-accent);
  padding:10px 16px;
  border-radius:6px;
  font-weight:700;
  cursor:pointer;
  font-size:14px;
}
.kpag-inner[data-price-mode="a"] .kpag-price-btn[data-mode="a"],
.kpag-inner[data-price-mode="b"] .kpag-price-btn[data-mode="b"]{
  background:var(--kooka-accent);
  color:#fff;
}

/* Show only selected price mode */
.kpag-inner[data-price-mode="a"] .kpag-price[data-price="b"]{ display:none; }
.kpag-inner[data-price-mode="b"] .kpag-price[data-price="a"]{ display:none; }

/* If both A/B empty, fallback remains visible */
.kpag-price-line{ margin:0; }


/* Defensive: if a theme/plugin injects .kpag-note directly under .kpag-title (not inside .kpag-title-stack),
   force it onto its own line like the design. */
.kpag-inner .kpag-title-stack{ flex:1 1 auto; min-width:0; }
.kpag-inner .kpag-title > .kpag-note{
  flex-basis:100%;
  margin-top:6px;
  padding-right:44px; /* keep clear of + icon */
}
.greycheck .nectar-fancy-ul li i {
  color: #4d4d4d;
}.greycheck .nectar-fancy-ul li i {
  left: -18px !important;
  color: #4d4d4d;
}