/* Jungle Park — Vouchery: strona produktu w stylu parku (header 228 / stopka 205 z Elementora).
   Tło i kolory jak na podstronach (ciemna neonowa dżungla). Tylko body.jpv-layout. */
body.jpv-layout{
  --jp-neon:#72FFF3; --jp-line:#2C9393; --jp-btn1:#6C27DF; --jp-btn2:#AA32C0;
  margin:0; color:#fff; background-color:#031B23;
  background-image:
    linear-gradient(180deg, rgba(3,27,35,.30) 0, rgba(3,27,35,.42) 560px, rgba(3,27,35,.82) 900px, #031B23 1100px, #031B23 100%),
    var(--jpv-bg, none);
  background-size:100% 1500px, max(100%,1920px) auto;
  background-position:0 0, center top; background-repeat:no-repeat;
  font-family:Nunito,Arial,sans-serif; font-size:16px;
}
@media (max-width:767px){
  body.jpv-layout{background-size:100% 700px, 900px auto}
}
body.jpv-layout .jpv-skip{position:absolute;left:-9999px;top:8px;z-index:10000;background:#fff;color:#031B23;padding:10px 16px;border-radius:999px;font-weight:800}
body.jpv-layout .jpv-skip:focus{left:12px}
body.jpv-layout .jpv-layout-header{position:sticky;top:0;z-index:999;display:block}
body.admin-bar.jpv-layout .jpv-layout-header{top:32px}
@media (max-width:782px){ body.admin-bar.jpv-layout .jpv-layout-header{top:46px} }
@media (max-width:600px){ body.admin-bar.jpv-layout .jpv-layout-header{top:0} }
body.jpv-layout .jpv-layout-footer{display:block}
body.jpv-layout .jpv-layout-main{max-width:1240px;margin:0 auto;padding:28px 20px 64px;box-sizing:border-box;scroll-margin-top:140px}
body.jpv-layout .jpv-back{margin:0 0 16px}
body.jpv-layout .jpv-back a{color:#72FFF3;font-weight:800;text-decoration:none}
body.jpv-layout .jpv-back a:hover,body.jpv-layout .jpv-back a:focus-visible{text-decoration:underline}

/* karta produktu */
body.jpv-layout div.product:not(.jpv-vp){
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:36px; align-items:start;
  padding:36px; border-radius:28px; box-sizing:border-box;
  background:linear-gradient(135deg,rgba(8,32,44,.92) 0%,rgba(12,22,46,.94) 55%,rgba(32,22,66,.94) 100%);
  border:1px solid color-mix(in srgb,var(--jp-neon) 55%,#1D3A44);
  box-shadow:0 0 16px color-mix(in srgb,var(--jp-neon) 14%,transparent), 0 24px 50px rgba(0,0,0,.35);
}
body.jpv-layout div.product:not(.jpv-vp)::after{content:none}
body.jpv-layout div.product:not(.jpv-vp) > *{float:none!important;width:auto!important;margin:0!important}
body.jpv-layout div.product .woocommerce-tabs,
body.jpv-layout div.product .related,
body.jpv-layout div.product .upsells{grid-column:1 / -1}
body.jpv-layout .woocommerce-product-gallery img{border-radius:22px;border:1px solid rgba(114,255,243,.45);width:100%;height:auto;display:block}
body.jpv-layout .woocommerce-product-gallery .flex-control-thumbs{display:none}
body.jpv-layout .product_title{font-family:"Luckiest Guy",Nunito,sans-serif;font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:.5px;color:#fff;margin:0 0 10px;
  text-shadow:0 0 10px rgba(255,255,255,.35),0 0 24px rgba(114,255,243,.22),2px 3px 0 #22204D}
body.jpv-layout div.product p.price{display:inline-block;margin:0 0 16px;padding:10px 20px;border-radius:20px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.14);
  font-family:"Luckiest Guy",Nunito,sans-serif;font-size:32px;color:#FFDB2E;font-weight:400}
body.jpv-layout div.product p.price .woocommerce-Price-amount{color:#FFDB2E}
body.jpv-layout .woocommerce-product-details__short-description{color:#E8FFFD;font-size:17px;line-height:1.6;margin:0 0 18px}
body.jpv-layout .woocommerce-product-details__short-description p{margin:0 0 8px}
body.jpv-layout div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 16px}
body.jpv-layout div.product form.cart .jpv-form{flex:1 1 100%}
body.jpv-layout div.product form.cart .quantity .qty{width:84px;min-height:52px;font:800 18px Nunito,sans-serif;color:#fff;background:#0B2533;border:2px solid #2f8185;border-radius:14px;text-align:center}
body.jpv-layout div.product form.cart .single_add_to_cart_button{
  flex:1 1 auto; min-height:56px; padding:14px 28px; cursor:pointer;
  background:linear-gradient(90deg,var(--jp-btn1),var(--jp-btn2))!important; color:#fff!important;
  border:2px solid #72FFF1!important; border-radius:999px!important;
  box-shadow:0 5px 0 #DB599D,0 0 16px rgba(114,255,241,.35);
  font:900 17px/1.2 Nunito,sans-serif; text-transform:uppercase; letter-spacing:.5px;
}
body.jpv-layout div.product form.cart .single_add_to_cart_button:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.jpv-layout :is(a,button,input,textarea,select):focus-visible{outline:3px solid #fff;outline-offset:3px}
body.jpv-layout .product_meta{font-size:14px;color:#BFE9E5}
body.jpv-layout .product_meta a{color:#72FFF3}
/* zakładki (opis) */
body.jpv-layout .woocommerce-tabs ul.tabs{padding:0!important;margin:8px 0 12px!important;border:0!important}
body.jpv-layout .woocommerce-tabs ul.tabs::before{display:none}
body.jpv-layout .woocommerce-tabs ul.tabs li{background:#0B2533!important;border:1px solid #2f8185!important;border-radius:999px!important;margin:0 8px 0 0!important}
body.jpv-layout .woocommerce-tabs ul.tabs li::before,body.jpv-layout .woocommerce-tabs ul.tabs li::after{display:none}
body.jpv-layout .woocommerce-tabs ul.tabs li a{color:#fff!important;font-weight:800}
body.jpv-layout .woocommerce-tabs .panel{color:#E8FFFD;line-height:1.6}
body.jpv-layout .woocommerce-tabs .panel h2{font-family:"Luckiest Guy",Nunito,sans-serif;font-weight:400;color:#fff}
/* komunikaty WooCommerce */
body.jpv-layout .woocommerce-notices-wrapper:not(:empty){margin:0 0 16px}
body.jpv-layout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info){
  margin:0 0 12px!important;padding:14px 18px 14px 48px!important;border-radius:16px;list-style:none;
  background:#071C28!important;color:#fff!important;border:1px solid #72FFF3;border-top-width:1px}
body.jpv-layout .woocommerce-error{border-color:#FF6B8A!important}
body.jpv-layout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before{color:#72FFF3;top:14px}
body.jpv-layout .woocommerce-error::before{color:#FF6B8A}
body.jpv-layout :is(.woocommerce-message,.woocommerce-info) .button{background:#0B2533;color:#fff;border:2px solid #72FFF3;border-radius:999px;font-weight:800}

@media (max-width:900px){
  body.jpv-layout div.product:not(.jpv-vp){grid-template-columns:1fr;gap:22px;padding:22px 18px}
  body.jpv-layout .jpv-layout-main{padding:20px 12px 48px}
  body.jpv-layout div.product form.cart .single_add_to_cart_button{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  body.jpv-layout div.product form.cart .single_add_to_cart_button:hover{transform:none}
}

/* =====================================================================
   Voucher: szybki zakup — jeden styl ze stroną Sklep (karty, panele, przyciski)
   ===================================================================== */
body.jpv-voucher .jpv-layout-main{max-width:1440px;padding-left:20px;padding-right:20px}
/* odstępy między panelami: jedna siatka z równym odstępem 24 px */
body.jpv-layout div.product.jpv-vp{display:grid;gap:24px;color:#fff}
body.jpv-layout div.product.jpv-vp form.cart.jpv-quick{display:block;margin:0;width:100%}
/* jeden wygląd paneli: hero, kroki, karta podsumowania, „gotowy prezent” */
body.jpv-layout .jpv-vp :is(.jpv-vp-hero,.jpv-vp-step,.jpv-vp-summary,.jpv-vp-cta,.jpv-vp-gift,.jpv-form .jpv-step){
  position:relative;overflow:hidden;border-radius:28px;box-sizing:border-box;margin:0;
  background:linear-gradient(135deg,rgba(8,32,44,.92) 0%,rgba(12,22,46,.94) 55%,rgba(32,22,66,.94) 100%);
  border:1px solid color-mix(in srgb,var(--jp-neon) 50%,#1D3A44);
  box-shadow:0 0 16px color-mix(in srgb,var(--jp-neon) 12%,transparent),0 24px 50px rgba(0,0,0,.35);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
body.jpv-layout .jpv-vp :is(.jpv-vp-hero,.jpv-vp-step,.jpv-form .jpv-step,.jpv-vp-gift)::before{content:"";position:absolute;left:32px;right:32px;top:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--jp-neon) 35%,#72FFF3 65%,transparent);opacity:.75}
/* hero (jak na stronie Sklep) */
body.jpv-layout .jpv-vp-hero{padding:34px 44px;background:linear-gradient(90deg,rgba(7,34,45,.90) 0%,rgba(11,24,48,.90) 50%,rgba(36,24,73,.90) 100%)}
body.jpv-layout .jpv-vp-eyebrow{margin:0 0 10px;font:900 13px/1.3 Nunito,sans-serif;letter-spacing:3px;text-transform:uppercase;color:#FFE36B}
body.jpv-layout .jpv-vp-title{margin:0 0 12px;font:400 clamp(34px,5vw,58px)/1.02 "Luckiest Guy",Nunito,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#fff;
  text-shadow:0 0 10px rgba(255,255,255,.35),0 0 24px rgba(114,255,243,.22),2px 3px 0 #22204D}
body.jpv-layout .jpv-vp-lead{max-width:640px;margin:0;font-size:19px;line-height:1.55;font-weight:700;color:#E4F4F2}
body.jpv-layout .jpv-vp-badge{display:inline-block;margin:16px 0 0;padding:10px 20px;border-radius:999px;background:rgba(6,30,40,.84);
  border:1px solid rgba(255,219,46,.55);box-shadow:0 0 12px rgba(255,219,46,.14);font-weight:700;font-size:17px}
body.jpv-layout .jpv-vp-badge strong{color:#FFE36B;font-weight:900;text-transform:uppercase;letter-spacing:.5px}
/* siatka: kroki | karta „Wybrany prezent” */
/* układ: 1. wybór + 2. dla kogo | karta „Wybrany prezent” (u góry, obok), 3. dostawa i pasek „Razem + Przejdź do płatności” na pełną szerokość */
body.jpv-layout .jpv-vp-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"s1 sum" "s2 sum" "s3 s3" "s4 s4" "cta cta";gap:24px;align-items:stretch;width:100%}
body.jpv-layout .jpv-vp-main,body.jpv-layout .jpv-vp .jpv-form{display:contents}
body.jpv-layout .jpv-vp-step{grid-area:s1}
body.jpv-layout .jpv-vp .jpv-form > .jpv-step:nth-of-type(1){grid-area:s2}
body.jpv-layout .jpv-vp .jpv-form > .jpv-step:nth-of-type(2){grid-area:s3}
body.jpv-layout .jpv-vp .jpv-form > .jpv-step:nth-of-type(3){grid-area:s4}
body.jpv-layout .jpv-vp-summary{grid-area:sum}
body.jpv-layout .jpv-vp-cta{grid-area:cta}
body.jpv-layout .jpv-vp .jpv-form{gap:24px;margin:0}
body.jpv-layout .jpv-vp-h2,body.jpv-layout .jpv-vp .jpv-form .jpv-step > legend{margin:0 0 18px;padding:0;font:400 30px/1.05 "Luckiest Guy",Nunito,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#fff;
  text-shadow:0 0 12px color-mix(in srgb,var(--jp-neon) 30%,transparent),2px 3px 0 #22204D}
body.jpv-layout .jpv-vp-step,body.jpv-layout .jpv-vp .jpv-form .jpv-step{padding:28px 28px 26px;min-width:0}
body.jpv-layout .jpv-vp-step > legend{float:left;width:100%}
body.jpv-layout .jpv-vp-step > legend + *{clear:both}
body.jpv-layout .jpv-vp .jpv-form .jpv-step:nth-of-type(1) > legend::before{content:"2. "}
body.jpv-layout .jpv-vp .jpv-form .jpv-step:nth-of-type(2) > legend::before{content:"3. "}
body.jpv-layout .jpv-vp .jpv-form .jpv-step:nth-of-type(3) > legend::before{content:"4. "}
/* 1. kafelki voucherów = karty ze strony Sklep */
body.jpv-layout .jpv-vp-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.jpv-layout .jpv-vp-tile{position:relative;display:flex;flex-direction:column;gap:10px;min-height:150px;box-sizing:border-box;padding:18px 18px 16px;border-radius:22px;cursor:pointer;color:#fff;
  background:linear-gradient(145deg,rgba(8,32,44,.92) 0%,rgba(12,22,46,.94) 55%,rgba(32,22,66,.94) 100%);
  border:1px solid color-mix(in srgb,var(--jp-neon) 55%,#1D3A44);border-top:3px solid color-mix(in srgb,var(--jp-neon) 85%,transparent);
  transition:transform .15s ease,box-shadow .15s ease}
body.jpv-layout .jpv-vp-tile:hover{transform:translateY(-2px);box-shadow:0 0 18px color-mix(in srgb,var(--jp-neon) 35%,transparent)}
body.jpv-layout .jpv-vp-radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
body.jpv-layout .jpv-vp-tile:has(.jpv-vp-radio:focus-visible){outline:3px solid #fff;outline-offset:3px}
body.jpv-layout .jpv-vp-tile-img{display:block;width:100%;height:96px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.14);margin:0 0 2px}
body.jpv-layout .jpv-vp-tile-name{font:400 20px/1.1 "Luckiest Guy",Nunito,sans-serif;text-transform:uppercase;letter-spacing:.5px;
  text-shadow:0 0 12px color-mix(in srgb,var(--jp-neon) 45%,transparent),2px 2px 0 #22204D}
body.jpv-layout .jpv-vp-tile-price{font:400 36px/1 "Luckiest Guy",Nunito,sans-serif;color:#fff;text-shadow:0 0 12px color-mix(in srgb,var(--jp-neon) 45%,transparent),2px 2px 0 #22204D}
body.jpv-layout .jpv-vp-tile-price .woocommerce-Price-amount{color:inherit}
body.jpv-layout .jpv-vp-tile-state{margin-top:auto;align-self:stretch;text-align:center;padding:9px 14px;border-radius:999px;font:900 14px/1 Nunito,sans-serif;text-transform:uppercase;letter-spacing:.5px;
  border:2px solid var(--jp-neon);background:linear-gradient(90deg,#14203A,#2A1553);color:#fff}
body.jpv-layout .jpv-vp-tile .jpv-on{display:none}
body.jpv-layout .jpv-vp-tile:has(.jpv-vp-radio:checked){border:2px solid var(--jp-neon);border-top-width:3px;
  background:linear-gradient(150deg,color-mix(in srgb,var(--jp-neon) 16%,rgba(8,32,44,.95)) 0%,rgba(12,22,46,.96) 55%,rgba(36,20,70,.96) 100%);
  box-shadow:0 0 26px color-mix(in srgb,var(--jp-neon) 35%,transparent)}
body.jpv-layout .jpv-vp-tile:has(.jpv-vp-radio:checked) .jpv-vp-tile-state{background:var(--jp-neon);color:#031B23}
body.jpv-layout .jpv-vp-tile:has(.jpv-vp-radio:checked) .jpv-on{display:inline}
body.jpv-layout .jpv-vp-tile:has(.jpv-vp-radio:checked) .jpv-off{display:none}
/* pola formularza w kolorze wybranego vouchera */
body.jpv-layout .jpv-vp .jpv-form{--jpv-cyan:var(--jp-neon)}
/* karta „Wybrany prezent” z przyciskiem */
body.jpv-layout .jpv-vp-summary{position:relative;padding:24px 24px 26px;border:2px solid var(--jp-neon);border-top-width:3px;
  box-shadow:0 0 26px color-mix(in srgb,var(--jp-neon) 28%,transparent),0 24px 50px rgba(0,0,0,.35)}
body.jpv-layout .jpv-vp-sum-tyt{margin-bottom:14px;font-size:26px}
body.jpv-layout .jpv-vp-sum{display:none}
body.jpv-layout .jpv-vp-img{display:block;width:100%;height:190px;object-fit:cover;border-radius:20px;border:1px solid rgba(114,255,243,.45);margin:0 0 14px}
body.jpv-layout .jpv-vp-sum-name{margin:0 0 4px;font:400 24px/1.08 "Luckiest Guy",Nunito,sans-serif;text-transform:uppercase;letter-spacing:.5px}
body.jpv-layout .jpv-vp-sum-price{margin:0 0 4px;font:400 44px/1 "Luckiest Guy",Nunito,sans-serif;color:#fff;
  text-shadow:0 0 12px color-mix(in srgb,var(--jp-neon) 45%,transparent),2px 2px 0 #22204D}
body.jpv-layout .jpv-vp-sum-price .woocommerce-Price-amount{color:inherit}
body.jpv-layout .jpv-vp-sum-valid{margin:0 0 12px;font-weight:800;color:#FFE36B}
/* pasek CTA: dostawa + razem | przycisk */
body.jpv-layout .jpv-vp-cta{display:flex;align-items:center;gap:20px 32px;padding:22px 28px;border:2px solid var(--jp-neon);border-top-width:3px;
  box-shadow:0 0 26px color-mix(in srgb,var(--jp-neon) 28%,transparent),0 24px 50px rgba(0,0,0,.35)}
body.jpv-layout .jpv-vp-sum-rows{flex:1 1 auto;min-width:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px}
body.jpv-layout .jpv-vp-row{display:flex;align-items:baseline;gap:10px;margin:0;font-weight:700;font-size:17px;color:#E4F4F2}
body.jpv-layout .jpv-vp-dost,body.jpv-layout .jpv-vp-add{display:none}
body.jpv-layout .jpv-vp-total{font-size:20px;color:#fff;text-transform:uppercase;font-weight:900}
body.jpv-layout .jpv-vp-total strong{font:400 38px/1 "Luckiest Guy",Nunito,sans-serif;color:#FFDB2E;text-shadow:2px 2px 0 #22204D}
body.jpv-layout .jpv-vp-total .woocommerce-Price-amount{color:#FFDB2E}
body.jpv-layout .jpv-vp-tot{display:none}
body.jpv-layout .jpv-vp .single_add_to_cart_button{display:block;float:none!important;clear:both;flex:0 0 auto;width:auto;min-width:340px;min-height:62px;margin:0;padding:14px 36px;cursor:pointer;
  background:linear-gradient(90deg,var(--jp-btn1),var(--jp-btn2))!important;color:#fff!important;border:2px solid #72FFF1!important;border-radius:999px!important;
  box-shadow:0 5px 0 #DB599D,0 0 16px rgba(114,255,241,.35);font:900 18px/1.2 Nunito,sans-serif;text-transform:uppercase;letter-spacing:.5px}
body.jpv-layout .jpv-vp .single_add_to_cart_button:hover{filter:brightness(1.08);transform:translateY(-1px)}
body.jpv-layout .jpv-vp-perks{clear:both;list-style:none;margin:6px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:9px}
body.jpv-layout .jpv-vp-perks li{position:relative;display:block;float:none;width:auto;margin:0;list-style:none;text-align:left;font-size:15px;padding-left:32px;font-weight:700;color:#E4F4F2;line-height:1.4}
body.jpv-layout .jpv-vp-perks li::before{content:"✓";position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  font:900 13px/1 Nunito,sans-serif;background:var(--jp-neon);color:#031B23}
/* gotowy prezent */
body.jpv-layout .jpv-vp-gift{padding:26px 32px;border-left:6px solid #FFDB2E;--jp-neon:#FFDB2E}
body.jpv-layout .jpv-vp-gift .jpv-vp-h2{font-size:30px;margin-bottom:8px}
body.jpv-layout .jpv-vp-gift p{margin:0;font-size:18px;font-weight:700;color:#E4F4F2;line-height:1.55}
@media (max-width:1100px){
  body.jpv-layout .jpv-vp-grid{grid-template-columns:1fr;grid-template-areas:"s1" "sum" "s2" "s3" "s4" "cta"}
  body.jpv-layout .jpv-vp-cta{flex-direction:column;align-items:stretch}
  body.jpv-layout .jpv-vp .single_add_to_cart_button{width:100%;min-width:0}
}
@media (max-width:767px){
  body.jpv-voucher .jpv-layout-main{padding-left:12px;padding-right:12px}
  body.jpv-layout .jpv-vp-hero{padding:22px 18px}
  body.jpv-layout .jpv-vp-step,body.jpv-layout .jpv-vp .jpv-form .jpv-step{padding:20px 16px}
  body.jpv-layout .jpv-vp-summary{padding:18px 16px 20px}
  body.jpv-layout .jpv-vp-cta{padding:18px 16px}
  body.jpv-layout .jpv-vp-total strong{font-size:32px}
  body.jpv-layout .jpv-vp-img{height:150px}
  body.jpv-layout .jpv-vp-tiles{grid-template-columns:1fr}
  body.jpv-layout .jpv-vp-tile{min-height:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"i i" "n p" "s s";gap:8px 12px;align-items:center}
  body.jpv-layout .jpv-vp-tile-img{grid-area:i;height:90px}
  body.jpv-layout .jpv-vp-tile-name{grid-area:n}
  body.jpv-layout .jpv-vp-tile-price{grid-area:p;font-size:30px}
  body.jpv-layout .jpv-vp-tile-state{grid-area:s}
  body.jpv-layout .jpv-vp-h2,body.jpv-layout .jpv-vp .jpv-form .jpv-step > legend{font-size:23px}
  body.jpv-layout .jpv-vp-gift{padding:20px 16px}
  body.jpv-layout .jpv-vp :is(.jpv-vp-hero,.jpv-vp-step,.jpv-vp-summary,.jpv-vp-cta,.jpv-vp-gift,.jpv-form .jpv-step){-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-motion:reduce){
  body.jpv-layout .jpv-vp-tile{transition:none}
  body.jpv-layout .jpv-vp-tile:hover,body.jpv-layout .jpv-vp .single_add_to_cart_button:hover{transform:none}
}
