.wok-shop{--wok-primary:#395d3e;--wok-border:#e4e7df;--wok-muted:#686e65;font-family:inherit;color:inherit;max-width:1200px;margin:22px auto 60px;line-height:1.5}
.wok-shop *{box-sizing:border-box}.wok-shop__intro{text-align:center;margin:0 0 28px}.wok-shop__intro h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 8px}.wok-shop__intro p{margin:0;color:var(--wok-muted)}
.wok-shop__products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:20px}.wok-product{border:1px solid var(--wok-border);border-radius:14px;overflow:hidden;background:#fff;color:#243026;display:flex;flex-direction:column;box-shadow:0 6px 22px #1a28100a}.wok-product__photo{height:190px;background:#f1f4ed;display:flex;align-items:center;justify-content:center}.wok-product__photo img{width:100%;height:100%;object-fit:cover}.wok-product__photo span{font-size:3rem}.wok-product__body{padding:18px;display:flex;flex-direction:column;flex:1}.wok-product__category{font-size:.78rem;color:#527458;text-transform:uppercase;letter-spacing:.07em}.wok-product h3{font-size:1.25rem;margin:6px 0 12px;line-height:1.25}.wok-product p{margin:5px 0 10px;color:#4b534d}.wok-product__unit{font-size:.87rem}.wok-product details{font-size:.86rem;margin:5px 0 13px}.wok-product summary{cursor:pointer;text-decoration:underline}.wok-product__buy{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:14px}.wok-product__buy strong{font-size:1.25rem;width:100%}.wok-shop__quantity-label{display:flex;align-items:center;gap:8px;font-size:.83rem}.wok-shop__quantity-label input{width:70px}.wok-shop input,.wok-shop textarea,.wok-shop select{padding:10px 11px;border:1px solid #b8c0b6;border-radius:7px;font:inherit;max-width:100%;background:#fff;color:#1d261e}.wok-shop input[type=checkbox]{width:auto;accent-color:var(--wok-primary)}.wok-button{background:var(--wok-primary);color:white!important;border:0;padding:11px 16px;border-radius:7px;cursor:pointer;font:inherit;font-weight:600}.wok-button:hover{background:#244629}.wok-button:disabled{opacity:.55;cursor:not-allowed}.wok-muted{font-size:.86rem;color:var(--wok-muted)}.wok-shop__checkout{margin-top:42px;padding:clamp(16px,3vw,30px);border:1px solid var(--wok-border);border-radius:16px;background:#fbfcfa}.wok-shop__checkout h2{font-size:1.65rem;margin:0 0 15px}.wok-cart__line{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:13px 0;border-bottom:1px solid var(--wok-border)}.wok-cart__controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.wok-cart__control{width:32px;height:32px;border:1px solid #b9c8b9;border-radius:5px;background:#fff;cursor:pointer}.wok-cart__remove{border:0;background:none;text-decoration:underline;color:#904a3c;cursor:pointer}.wok-cart__total{text-align:right;font-size:1.1rem}.wok-cart__sum{font-size:1.4rem}.wok-form{border-top:1px solid var(--wok-border);padding-top:22px;margin-top:22px}.wok-form h3{margin:0 0 18px}.wok-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}.wok-form label{font-weight:600;font-size:.92rem;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.wok-form label[hidden]{display:none}.wok-form textarea{width:100%;resize:vertical}.wok-form__privacy{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:400!important;margin:16px 0!important}.wok-form__privacy input{margin:5px 0}.wok-form__result{margin-top:12px;font-weight:600;color:#24652d}.wok-form__result--error{color:#a32626}.wok-shop__honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.wok-shop a{color:#315d3b}.wok-shop button:focus-visible,.wok-shop input:focus-visible,.wok-shop select:focus-visible{outline:2px solid #527458;outline-offset:2px}

/* v3 – klikalne karty produktów */
.wok-shop .wok-product__open{appearance:none;display:flex;flex-direction:column;width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.wok-shop .wok-product__open:hover .wok-product__photo img{transform:scale(1.055)}
.wok-shop .wok-product__open:hover .wok-product__more{text-decoration:underline}
.wok-shop .wok-product__open:focus-visible{outline:3px solid #6b986f;outline-offset:-4px;border-radius:14px}
.wok-shop .wok-product__photo{display:flex;width:100%;overflow:hidden;flex:0 0 250px}
.wok-shop .wok-product__photo img{transition:transform .3s ease}
.wok-shop .wok-product__body{display:flex;flex-direction:column;width:100%;min-height:182px}
.wok-shop .wok-product__name{font-size:1.23rem;font-weight:700;line-height:1.32;margin:6px 0 10px}
.wok-shop .wok-product__buy{align-items:flex-start;flex-direction:column;gap:3px;padding-top:12px}
.wok-shop .wok-product__buy small{font-size:.78rem;color:#8a5948}
.wok-shop .wok-product__more{display:block;margin-top:14px;font-weight:600;font-size:.9rem;color:#315d3b}
.wok-shop .wok-product__placeholder{font-size:3rem}
.wok-shop .wok-form__privacy{align-items:flex-start}
.wok-shop .wok-form__privacy span{display:inline}
.wok-shop .wok-form__privacy a{text-decoration:underline;text-underline-offset:3px}

/* v3 – popup niezależny od reguł szablonu Contao */
.wok-modal{--wok-modal-green:#315b3a;--wok-modal-border:#e4e9df;position:fixed!important;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);box-sizing:border-box;font:inherit;color:#243026}
.wok-modal[hidden]{display:none!important}
.wok-modal *{box-sizing:border-box}
.wok-modal__backdrop{position:absolute;inset:0;background:rgba(15,27,20,.72);backdrop-filter:blur(5px);cursor:zoom-out}
.wok-modal__panel{position:relative;width:min(930px,100%);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--wok-modal-border);border-radius:19px;box-shadow:0 28px 80px #0b1f0b55;font-family:inherit;line-height:1.6}
.wok-modal__header{position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px clamp(20px,3vw,32px);background:#fff;border-bottom:1px solid var(--wok-modal-border)}
.wok-modal__heading{font-size:clamp(1.28rem,2.7vw,1.85rem);line-height:1.25;margin:0;padding:4px 0;font-weight:750;color:#243026}
.wok-modal__close{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:0;border-radius:50%;background:#eff3ed;color:#2e4734;font-size:30px;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.wok-modal__close:hover{background:#deeadd;transform:rotate(90deg)}
.wok-modal button:focus-visible,.wok-modal input:focus-visible,.wok-modal a:focus-visible{outline:3px solid #61836b;outline-offset:3px}
.wok-modal__content{padding:clamp(18px,3vw,32px)}
.wok-modal__product{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:clamp(18px,3vw,36px)}
.wok-modal__image{position:sticky;top:90px;align-self:start;display:flex;align-items:center;justify-content:center;min-height:260px;max-height:420px;background:#f1f4ed;border-radius:12px;overflow:hidden;color:#527458;font-size:4rem}
.wok-modal__image img{width:100%;height:auto;max-height:420px;aspect-ratio:4 / 5;object-fit:cover}
.wok-modal__category{margin:0 0 14px;color:#627569;font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}
.wok-modal__section{margin:0 0 22px}
.wok-modal__section h3{font-size:1rem;font-weight:750;color:#315b3a;margin:0 0 6px}
.wok-modal__section p{font-size:.96rem;margin:0;color:#434c44;overflow-wrap:anywhere}
.wok-modal__purchase{border-top:1px solid var(--wok-modal-border);padding-top:19px;margin-top:14px}
.wok-modal__price{display:block;font-size:1.55rem;line-height:1.2;margin-bottom:14px;color:#284e32}
.wok-modal__actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.wok-modal__actions label{display:flex;flex-direction:column;gap:3px;font-size:.85rem;font-weight:600;color:#384a3a}
.wok-modal__qty{display:block;width:85px;padding:10px;border:1px solid #adbdb0;border-radius:8px;font:inherit;background:#fff;color:#26352a}
.wok-modal .wok-button{border:0;border-radius:8px;background:#395d3e;padding:11px 20px;color:#fff;font-size:1rem;font-weight:650;cursor:pointer}
.wok-modal .wok-button:hover{background:#284b30}
.wok-modal__feedback{font-size:.9rem;color:#286b38;margin:11px 0 0;min-height:1.1em}
.wok-modal__content .wok-muted{font-size:.9rem;color:#8b5c3d}
.wok-modal .wok-policy{max-width:760px;color:#424b42;font-size:.96rem}
.wok-policy h3{font-size:1.08rem;font-weight:750;color:#315b3a;margin:23px 0 7px}
.wok-policy p{margin:0 0 12px;line-height:1.7;overflow-wrap:anywhere}
.wok-policy a{color:#315b3a;text-decoration:underline;text-underline-offset:2px}
.wok-policy__lead{font-size:1.03rem;font-weight:600;color:#2d4935}
.wok-policy__note{margin-top:24px!important;padding:13px 16px;border-left:3px solid #92a896;background:#f6f8f4;color:#5a675b;font-size:.87rem}
@media (max-width:690px){
  .wok-modal{padding:8px;align-items:flex-end}
  .wok-modal__panel{width:100%;max-height:95dvh;border-radius:17px 17px 9px 9px}
  .wok-modal__header{padding:14px 18px}
  .wok-modal__content{padding:18px}
  .wok-modal__product{grid-template-columns:minmax(0,1fr);gap:18px}
  .wok-modal__image{position:static;min-height:0;max-height:260px}
  .wok-modal__image img{max-height:260px;aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){.wok-modal__close,.wok-shop .wok-product__photo img{transition:none!important}}


/* v4 – zdjęcia zawsze w całości, bez przycinania */
.wok-shop .wok-product__photo {
  padding: 12px;
  background: #f6f8f4;
}
.wok-shop .wok-product__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
.wok-shop .wok-product__open:hover .wok-product__photo img { transform: none; }
.wok-modal .wok-modal__image {
  padding: 12px;
  background: #f6f8f4;
}
.wok-modal .wok-modal__image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 396px;
  max-width: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
.wok-shop .wok-shop__checkout { scroll-margin-top: 110px; }

/* v4 – pływająca ikonka koszyka */
.wok-cart-fab {
  position: fixed !important;
  right: calc(18px + env(safe-area-inset-right, 0px));
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 2147482000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 1px solid #ffffff52;
  border-radius: 50%;
  background: #395d3e;
  color: #fff;
  box-shadow: 0 7px 25px #17361f50;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .2s ease, transform .2s ease;
}
.wok-cart-fab svg { display: block; width: 27px; height: 27px; flex: none; }
.wok-cart-fab:hover { background: #29472f; transform: translateY(-2px); }
.wok-cart-fab:focus-visible { outline: 3px solid #9ac3a2; outline-offset: 4px; }
.wok-cart-fab__badge {
  position: absolute;
  top: -5px;
  right: -6px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #b84236;
  color: #fff;
  font: 700 12px/1 system-ui, sans-serif;
}
.wok-cart-fab__badge[hidden] { display: none !important; }
@media (max-width: 690px) {
  .wok-modal .wok-modal__image img { max-height: 236px; }
  .wok-cart-fab {
    width: 52px;
    height: 52px;
    right: calc(13px + env(safe-area-inset-right, 0px));
    bottom: calc(13px + env(safe-area-inset-bottom, 0px));
  }
  .wok-cart-fab svg { width: 25px; height: 25px; }
  .wok-shop .wok-shop__checkout { scroll-margin-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .wok-cart-fab { transition: none; }
  .wok-cart-fab:hover { transform: none; }
}


/* v5 – mały koszyk z plusem obok „Zobacz szczegóły” */
.wok-shop .wok-product__more {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
}
.wok-shop .wok-product__more-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 31px;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #e4efe3;
  color: #315d3b;
  transition: background-color .18s ease, transform .18s ease;
}
.wok-shop .wok-product__more-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}
.wok-shop .wok-product__open:hover .wok-product__more-icon,
.wok-shop .wok-product__open:focus-visible .wok-product__more-icon {
  background: #d2e5cf;
  transform: translateX(2px);
}
@media (prefers-reduced-motion: reduce) {
  .wok-shop .wok-product__more-icon { transition: none; }
  .wok-shop .wok-product__open:hover .wok-product__more-icon { transform: none; }
}
