/* VIVILIV product food information — premium dark theme, scoped only to this module. */
.viviliv-product-foodinfo{
  --vpf-gold:#e7c65b;
  --vpf-gold-soft:rgba(231,198,91,.28);
  --vpf-text:#f7f4e9;
  --vpf-muted:#cbd4cd;
  --vpf-panel:rgba(255,255,255,.025);
  margin:20px 0 18px;
  color:var(--vpf-text)!important;
  font-family:Montserrat,Arial,sans-serif;
  font-size:14px;
  font-weight:500;
}
.viviliv-product-foodinfo *{box-sizing:border-box}
.vpf-details{
  margin:0;
  border-top:1px solid var(--vpf-gold-soft);
  background:transparent;
}
.vpf-details:last-child{border-bottom:1px solid var(--vpf-gold-soft)}
.vpf-details summary{
  cursor:pointer;
  list-style:none;
  min-height:48px;
  padding:13px 2px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--vpf-gold)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.35;
  font-weight:700!important;
  letter-spacing:.01em;
  transition:opacity .16s ease;
}
.vpf-details summary:hover{opacity:.92}
.vpf-details summary::-webkit-details-marker{display:none}
.vpf-details summary::marker{content:''}
.vpf-details summary>span{min-width:0}
.vpf-details summary>small{
  margin-left:6px;
  color:var(--vpf-muted)!important;
  font-size:11px!important;
  line-height:1;
  font-weight:600!important;
  white-space:nowrap;
}
.vpf-details summary:after{
  content:'+';
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin-left:auto;
  border:1px solid rgba(231,198,91,.42);
  border-radius:999px;
  display:grid;
  place-items:center;
  color:var(--vpf-gold)!important;
  font-size:17px;
  line-height:1;
  font-weight:600;
}
.vpf-details[open] summary:after{content:'−'}
.vpf-details[open] summary{padding-bottom:11px}
.vpf-content{
  padding:1px 2px 17px;
  color:var(--vpf-text)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:13px;
  line-height:1.6;
  font-weight:500!important;
}
.vpf-content h4{
  margin:9px 0 5px!important;
  padding:0!important;
  color:var(--vpf-gold)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.35;
  font-weight:700!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.vpf-content p,
.vpf-content strong,
.vpf-content span{font-family:Montserrat,Arial,sans-serif}
.vpf-content p{margin:0 0 10px!important;color:var(--vpf-text)!important;font-weight:500!important}
.vpf-ingredients{font-size:13.5px;line-height:1.62}
.vpf-note{margin:0 0 8px!important;color:var(--vpf-muted)!important;font-size:11.5px!important;line-height:1.5;font-weight:500!important}
.vpf-empty{color:var(--vpf-muted)!important;font-size:12.5px!important}
.vpf-allergen-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:6px 0 9px;
}
.vpf-allergen-label{
  flex:0 0 auto;
  padding-top:3px;
  color:var(--vpf-text)!important;
  font-size:12px;
  font-weight:700;
}
.vpf-allergen-chips{display:flex;flex-wrap:wrap;gap:6px}
.vpf-allergen-chip{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(231,198,91,.48);
  color:var(--vpf-text)!important;
  background:rgba(231,198,91,.08);
  font-size:11.5px;
  line-height:1.2;
  font-weight:600!important;
}
.vpf-allergen-chip.is-may{
  border-style:dashed;
  background:transparent;
  color:var(--vpf-muted)!important;
}
.vpf-nutrition{
  width:100%;
  margin:7px 0 1px!important;
  border:0!important;
  border-collapse:collapse;
  color:var(--vpf-text)!important;
  background:transparent!important;
}
.vpf-nutrition tbody,.vpf-nutrition tr,.vpf-nutrition th,.vpf-nutrition td{background:transparent!important}
.vpf-nutrition th,.vpf-nutrition td{
  padding:8px 3px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
  color:var(--vpf-text)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.35;
}
.vpf-nutrition th{text-align:left!important;font-weight:600!important}
.vpf-nutrition td{text-align:right!important;font-weight:700!important;white-space:nowrap}
.vpf-nutrition tr.is-sub th{
  padding-left:13px!important;
  color:var(--vpf-muted)!important;
  font-size:11.5px!important;
  font-weight:500!important;
}
.vpf-nutrition tr:last-child th,.vpf-nutrition tr:last-child td{border-bottom:0!important}
.viviliv-product-foodinfo~.viviliv-product-allergens{display:none}

@media (max-width:767px){
  .viviliv-product-foodinfo{margin:17px 0 15px;font-size:13px}
  .vpf-details summary{min-height:46px;padding:12px 1px;font-size:13.5px!important}
  .vpf-content{padding:0 1px 15px;font-size:12.5px}
  .vpf-ingredients{font-size:13px}
  .vpf-allergen-row{display:block;margin:6px 0 10px}
  .vpf-allergen-label{display:block;margin-bottom:5px;padding:0}
  .vpf-nutrition th,.vpf-nutrition td{font-size:11.5px!important;padding:7px 2px!important}
  .vpf-nutrition tr.is-sub th{padding-left:10px!important;font-size:11px!important}
}

/* =========================================================
 * VIVILIV 0.4.4 — JEDEN ISTNIEJĄCY PRZYCISK (i)
 * Nie tworzymy ani nie stylujemy drugiej ikony.
 * Używamy istniejącej .viviliv-small-card-info-button z kart VIVILIV.
 * ========================================================= */
.vra-loop-foodinfo-trigger{display:none!important}

.vra-loop-foodinfo-modal[hidden]{display:none!important}
.vra-loop-foodinfo-modal{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:grid;
  place-items:center;
  padding:20px;
  font-family:Montserrat,Arial,sans-serif;
}
.vra-loop-foodinfo-modal__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(0,0,0,.46);
  cursor:pointer;
}
.vra-loop-foodinfo-modal__dialog{
  position:relative;
  z-index:1;
  width:min(620px,100%);
  max-height:min(82vh,780px);
  overflow:auto;
  padding:28px 30px 26px;
  border:1px solid rgba(216,178,74,.62);
  border-radius:22px;
  color:#f7f4e9;
  background:linear-gradient(145deg,#0b2c1c 0%,#06150d 68%,#103b23 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.035);
  scrollbar-width:thin;
  scrollbar-color:#d8b24a transparent;
}
.vra-loop-foodinfo-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,178,74,.48);
  border-radius:999px;
  color:#f3d77a;
  background:rgba(6,21,13,.88);
  font-size:24px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
}
.vra-loop-foodinfo-modal__content{padding-right:26px}
.vra-loop-foodinfo__eyebrow{
  margin:0 0 7px;
  color:#d8b24a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.vra-loop-foodinfo-modal h2{
  margin:0!important;
  color:#f3d77a!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:clamp(24px,4vw,34px)!important;
  font-weight:800!important;
  line-height:1.08!important;
}
.vra-loop-foodinfo__lead{
  margin:7px 0 20px!important;
  color:rgba(247,244,233,.70)!important;
  font-size:12px!important;
  font-weight:600!important;
}
.vra-loop-foodinfo__section{
  padding:16px 0 4px;
  border-top:1px solid rgba(216,178,74,.25);
}
.vra-loop-foodinfo__section h3,
.vra-loop-foodinfo__section-head h3{
  margin:0 0 8px!important;
  color:#f3d77a!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.vra-loop-foodinfo__section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.vra-loop-foodinfo__section-head h3{margin:0!important}
.vra-loop-foodinfo__section-head>span{
  color:#cbd4cd;
  font-size:10.5px;
  font-weight:700;
  white-space:nowrap;
}
.vra-loop-foodinfo__ingredients{
  margin:0 0 15px!important;
  color:#f7f4e9!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.6!important;
}
.vra-loop-foodinfo__allergens{margin-top:4px}
.vra-loop-foodinfo__allergen-row{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:start;
  gap:10px;
  margin:8px 0;
}
.vra-loop-foodinfo__allergen-row>strong{
  padding-top:5px;
  color:#f7f4e9!important;
  font-size:12px!important;
  font-weight:750!important;
}
.vra-loop-foodinfo__chips{display:flex;flex-wrap:wrap;gap:6px}
.vra-loop-foodinfo__chip{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:4px 9px;
  border:1px solid rgba(231,198,91,.48);
  border-radius:999px;
  color:#f7f4e9;
  background:rgba(231,198,91,.08);
  font-size:11.5px;
  font-weight:650;
  line-height:1.2;
}
.vra-loop-foodinfo__chip.is-may{border-style:dashed;color:#cbd4cd;background:transparent}
.vra-loop-foodinfo__muted{
  margin:0 0 10px!important;
  color:#cbd4cd!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.vra-loop-foodinfo__nutrition{
  width:100%;
  margin:4px 0 0!important;
  border:0!important;
  border-collapse:collapse;
  background:transparent!important;
}
.vra-loop-foodinfo__nutrition tbody,
.vra-loop-foodinfo__nutrition tr,
.vra-loop-foodinfo__nutrition th,
.vra-loop-foodinfo__nutrition td{background:transparent!important}
.vra-loop-foodinfo__nutrition th,
.vra-loop-foodinfo__nutrition td{
  padding:8px 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
  color:#f7f4e9!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.vra-loop-foodinfo__nutrition th{text-align:left!important;font-weight:600!important}
.vra-loop-foodinfo__nutrition td{text-align:right!important;font-weight:750!important;white-space:nowrap}
.vra-loop-foodinfo__nutrition tr.is-sub th{padding-left:12px!important;color:#cbd4cd!important;font-size:11.5px!important;font-weight:500!important}
.vra-loop-foodinfo__nutrition tr:last-child th,
.vra-loop-foodinfo__nutrition tr:last-child td{border-bottom:0!important}
.vra-loop-foodinfo__pending{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  border:1px solid rgba(216,178,74,.30);
  border-radius:14px;
  background:rgba(216,178,74,.055);
}
.vra-loop-foodinfo__pending>span{
  flex:0 0 25px;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#06150d;
  background:linear-gradient(135deg,#f3d77a,#d8b24a);
  font-size:12px;
  font-weight:900;
}
.vra-loop-foodinfo__pending p{
  margin:1px 0 0!important;
  color:#f7f4e9!important;
  font-size:12.5px!important;
  font-weight:550!important;
  line-height:1.55!important;
}
body.vra-loop-foodinfo-open{overflow:hidden!important}
body.vra-loop-foodinfo-open .vra-loop-foodinfo-modal{background:transparent!important}

@media (max-width:600px){
  .vra-loop-foodinfo-modal{padding:12px}
  .vra-loop-foodinfo-modal__dialog{max-height:90vh;padding:22px 18px 20px;border-radius:18px}
  .vra-loop-foodinfo-modal__content{padding-right:20px}
  .vra-loop-foodinfo__allergen-row{grid-template-columns:1fr;gap:4px}
  .vra-loop-foodinfo__allergen-row>strong{padding-top:0}
  .vra-loop-foodinfo__nutrition th,.vra-loop-foodinfo__nutrition td{font-size:11.5px!important;padding:7px 1px!important}
}

/* =========================================================
 * VIVILIV 0.4.7 — INFO W TYM SAMYM POPUPIE CO PRODUKT
 * Nie tworzymy drugiego fullscreen overlay. Informacja z (i)
 * korzysta z istniejącego .viviliv-qv-modal / .viviliv-qv-shell.
 * ========================================================= */
.vra-loop-foodinfo-modal,
.vra-loop-foodinfo-modal__backdrop,
.vra-loop-foodinfo-modal__dialog{display:none!important}
body.vra-loop-foodinfo-open{overflow:initial!important}

/* =========================================================
 * VIVILIV 0.4.17 — INFO POPUP FIT
 * Full nutrition must never be clipped by the approved Quick View shell.
 * Desktop: the card is bounded by the real viewport, the content grid item
 * is allowed to shrink (min-height:0), and only the right information pane
 * scrolls when a very long ingredient/allergen list requires it.
 * ========================================================= */
.viviliv-qv-card.vra-qv-foodinfo-card{
  grid-template-columns:.98fr 1.02fr!important;
  height:min(620px,calc(100dvh - 64px))!important;
  max-height:calc(100dvh - 64px)!important;
  min-height:430px!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
.vra-qv-foodinfo-media{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  background:#0a140e!important;
}
.vra-qv-foodinfo-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  object-fit:cover!important;
}
.vra-qv-foodinfo__image-placeholder{
  width:100%;height:100%;min-height:0;display:grid;place-items:center;
  color:#d8b24a;font-weight:900;letter-spacing:.12em;
  background:linear-gradient(145deg,#10291a,#06150d);
}
.vra-qv-foodinfo-content{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:30px 32px 24px!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#d8b24a transparent;
}
.vra-qv-foodinfo-content::-webkit-scrollbar{width:7px}
.vra-qv-foodinfo-content::-webkit-scrollbar-track{background:transparent}
.vra-qv-foodinfo-content::-webkit-scrollbar-thumb{background:#d8b24a;border-radius:999px}
.vra-qv-foodinfo-content .vra-loop-foodinfo__lead{margin-bottom:12px!important}
.vra-qv-foodinfo-content .vra-loop-foodinfo__section{padding:12px 0 2px!important}
.vra-qv-foodinfo-content .vra-loop-foodinfo__section:first-of-type{padding-top:10px!important}
.vra-qv-foodinfo-content .vra-loop-foodinfo__ingredients{margin-bottom:9px!important;line-height:1.45!important}
.vra-qv-foodinfo-content .vra-loop-foodinfo__allergen-row{margin:6px 0!important}
.vra-qv-foodinfo-content .vra-loop-foodinfo__nutrition th,
.vra-qv-foodinfo-content .vra-loop-foodinfo__nutrition td{padding:6px 2px!important}

/* Short desktop/laptop screens like 1366×768: keep every nutrition row reachable
 * without letting the right pane fall below the popup border. */
@media (min-width:769px) and (max-height:760px){
  .viviliv-qv-card.vra-qv-foodinfo-card{
    height:calc(100dvh - 40px)!important;
    max-height:calc(100dvh - 40px)!important;
    min-height:0!important;
  }
  .vra-qv-foodinfo-content{padding:22px 28px 18px!important}
  .vra-qv-foodinfo-content .vra-loop-foodinfo__section{padding-top:9px!important}
  .vra-qv-foodinfo-content .vra-loop-foodinfo__section h3,
  .vra-qv-foodinfo-content .vra-loop-foodinfo__section-head h3{margin-bottom:5px!important}
  .vra-qv-foodinfo-content .vra-loop-foodinfo__ingredients{font-size:12.8px!important;line-height:1.38!important;margin-bottom:7px!important}
  .vra-qv-foodinfo-content .vra-loop-foodinfo__allergen-row{margin:4px 0!important}
  .vra-qv-foodinfo-content .vra-loop-foodinfo__nutrition th,
  .vra-qv-foodinfo-content .vra-loop-foodinfo__nutrition td{padding:5px 2px!important;line-height:1.22!important}
}

@media (max-width:768px){
  .viviliv-qv-card.vra-qv-foodinfo-card{
    grid-template-columns:1fr!important;
    height:auto!important;
    max-height:calc(100dvh - 16px)!important;
    min-height:0!important;
    overflow-y:auto!important;
  }
  .vra-qv-foodinfo-media{height:220px!important;min-height:220px!important;max-height:260px!important}
  .vra-qv-foodinfo-media img{height:100%!important;min-height:0!important;max-height:none!important}
  .vra-qv-foodinfo-content{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:26px 20px 24px!important}
}

/* 0.4.14 — trzy osobne pola na stronie produktu */
.vpf-three-fields .vpf-details{margin:0!important}
.vpf-three-fields .vpf-content{padding-top:0!important}
.vpf-kcal-value{
  margin:0!important;
  color:var(--vpf-text)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:600!important;
}
.vpf-kcal-value strong{
  color:var(--vpf-gold)!important;
  font-size:18px!important;
  font-weight:800!important;
}
