.jw-puoti{--jwp-border:color-mix(in srgb,currentColor 16%,transparent);--jwp-muted:color-mix(in srgb,currentColor 67%,transparent);--jwp-bg:color-mix(in srgb,currentColor 4%,transparent);font:inherit;color:inherit;max-width:100%}
.jw-puoti *, .jw-puoti *::before, .jw-puoti *::after{box-sizing:border-box}
.jw-puoti .jw-puoti-title{margin:0 0 .6em;font:inherit;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.2}
.jw-puoti .jw-puoti-intro{margin:0 0 2rem;line-height:1.65}
.jw-puoti .jw-puoti-category,.jw-puoti .jw-puoti-section{margin:2rem 0 2.8rem;scroll-margin-top:6rem}
.jw-puoti .jw-puoti-category h2,.jw-puoti .jw-puoti-section h2{font-size:clamp(1.35rem,2.4vw,1.9rem);margin:0 0 1rem;line-height:1.25}
.jw-puoti .jw-puoti-products--list{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.jw-puoti .jw-puoti-products--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}
.jw-puoti .jw-puoti-product{border-bottom:1px solid var(--jwp-border);padding:.95rem 0;display:grid;gap:.55rem 1.4rem;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.jw-puoti .jw-puoti-product--grid{border:1px solid var(--jwp-border);border-radius:8px;padding:1rem;grid-template-columns:minmax(0,1fr);align-content:start}
.jw-puoti .jw-puoti-product-main{min-width:0}
.jw-puoti .jw-puoti-product-heading{font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.jw-puoti .jw-puoti-product-heading a{color:inherit}
.jw-puoti .jw-puoti-package{font-size:.92em;color:var(--jwp-muted);margin-top:.15rem}
.jw-puoti .jw-puoti-price{font-weight:650;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.jw-puoti .jw-puoti-product--grid .jw-puoti-price{text-align:left}
.jw-puoti .jw-puoti-status{font-size:.73em;font-weight:600;display:inline-block;vertical-align:middle;border:1px solid var(--jwp-border);border-radius:40px;padding:.13rem .55rem;margin-left:.4rem;white-space:normal}
.jw-puoti .jw-puoti-status--out{opacity:.75}
.jw-puoti .jw-puoti-description{font-size:.92em;line-height:1.55;margin-top:.45rem}
.jw-puoti .jw-puoti-details{grid-column:1/-1;min-width:0;font-size:.92em;margin-top:.1rem}
.jw-puoti .jw-puoti-details summary{display:list-item;cursor:pointer;width:max-content;max-width:100%;text-decoration:underline;text-underline-offset:3px}
.jw-puoti .jw-puoti-details summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.jw-puoti .jw-puoti-ingredients{padding:.75rem 1rem;margin-top:.45rem;border-radius:6px;background:var(--jwp-bg);line-height:1.6;overflow-wrap:anywhere}
.jw-puoti .jw-puoti-ingredients p:last-child,.jw-puoti .jw-puoti-section-body p:last-child{margin-bottom:0}
.jw-puoti .jw-puoti-section-body{line-height:1.65}
.jw-puoti .jw-puoti-more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem}
.jw-puoti-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:1rem}
.jw-puoti-highlights .jw-puoti-section{margin:0;border:1px solid var(--jwp-border);border-radius:9px;padding:1.3rem}
@media(max-width:520px){.jw-puoti .jw-puoti-product{grid-template-columns:minmax(0,1fr);gap:.3rem}.jw-puoti .jw-puoti-price{text-align:left}.jw-puoti .jw-puoti-details{margin-top:.35rem}}

/* 0.1.3: tuotekuva on rivin korkuinen, valinnainen pikkukuva. */
.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--list{grid-template-columns:62px minmax(0,1fr) auto;align-items:start}
.jw-puoti .jw-puoti-product-photo{width:62px;height:62px;min-height:62px;border:0!important;border-radius:9px;overflow:hidden;display:block;padding:0!important;margin:0;background:var(--jwp-bg);cursor:zoom-in;box-shadow:none!important;line-height:0;grid-column:1;grid-row:1}
.jw-puoti .jw-puoti-product-thumb{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;transition:transform .18s ease}
.jw-puoti .jw-puoti-product-photo:hover .jw-puoti-product-thumb{transform:scale(1.045)}
.jw-puoti .jw-puoti-product-photo:focus-visible,.jw-puoti .jw-puoti-gallery-open:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.jw-puoti .jw-puoti-product--has-image .jw-puoti-product-main{grid-column:2;grid-row:1}
.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--list .jw-puoti-price{grid-column:3;grid-row:1}
.jw-puoti .jw-puoti-product--has-image .jw-puoti-details{grid-column:2/-1}
.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--grid{grid-template-columns:62px minmax(0,1fr)}
.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--grid .jw-puoti-price{grid-column:2;grid-row:2;text-align:left}

/* Itsenäinen kuvagallerianäkymä. */
.jw-puoti .jw-puoti-gallery{display:grid;grid-template-columns:repeat(var(--jw-puoti-gallery-cols,3),minmax(0,1fr));gap:.75rem;margin:1.3rem 0;max-width:100%}
.jw-puoti .jw-puoti-gallery--narrow{max-width:480px}
.jw-puoti .jw-puoti-gallery--normal{max-width:720px}
.jw-puoti .jw-puoti-gallery--wide{max-width:1024px}
.jw-puoti .jw-puoti-gallery--full{width:100%}
.jw-puoti .jw-puoti-gallery-item{min-width:0;margin:0}
.jw-puoti .jw-puoti-gallery-open{width:100%;aspect-ratio:1/1;display:block;border:0!important;border-radius:11px;overflow:hidden;cursor:zoom-in;padding:0!important;box-shadow:none!important;background:var(--jwp-bg);line-height:0}
.jw-puoti .jw-puoti-gallery-thumb{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease;border-radius:inherit}
.jw-puoti .jw-puoti-gallery-open:hover .jw-puoti-gallery-thumb{transform:scale(1.035)}
.jw-puoti .jw-puoti-gallery-item figcaption{font-size:.83em;line-height:1.35;color:var(--jwp-muted);margin-top:.35rem}

/* Yhteinen kelluva kuvanäkymä; ei riipu teemasta eikä ulkopuolisesta kirjastosta. */
.jw-puoti-lightbox[hidden],.jw-puoti-lightbox button[hidden]{display:none!important}
.jw-puoti-lightbox{position:fixed;z-index:2147483000;inset:0;display:grid;place-items:center;padding:1rem;color:#fff;font:inherit}
.jw-puoti-lightbox-backdrop{position:absolute;inset:0;background:rgba(10,13,16,.9)}
.jw-puoti-lightbox-panel{position:relative;display:flex;align-items:center;justify-content:center;max-width:96vw;max-height:96vh;min-width:0}
.jw-puoti-lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;min-width:0}
.jw-puoti-lightbox-image{display:block;max-width:min(90vw,1500px);max-height:83vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 8px 50px rgba(0,0,0,.4)}
.jw-puoti-lightbox-caption{margin-top:.75rem;max-width:80vw;text-align:center;color:#fff;font-size:.95rem;line-height:1.5}
.jw-puoti-lightbox button{border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;box-shadow:none;font-size:2rem;display:grid;place-items:center;line-height:1;width:42px;height:42px;padding:0}
.jw-puoti-lightbox button:hover{background:rgba(255,255,255,.28)}
.jw-puoti-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.jw-puoti-lightbox-close{position:absolute;right:0;top:0;z-index:2;transform:translateY(-110%)}
.jw-puoti-lightbox-prev,.jw-puoti-lightbox-next{position:absolute;top:45%;z-index:1}
.jw-puoti-lightbox-prev{left:0;transform:translateX(-110%)}
.jw-puoti-lightbox-next{right:0;transform:translateX(110%)}
body.jw-puoti-lightbox-active{overflow:hidden}
@media(max-width:760px){.jw-puoti .jw-puoti-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.jw-puoti-lightbox-prev{left:4px;transform:none}.jw-puoti-lightbox-next{right:4px;transform:none}.jw-puoti-lightbox-close{right:4px;top:4px;transform:none}.jw-puoti-lightbox-image{max-width:92vw}}
@media(max-width:520px){.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--list{grid-template-columns:56px minmax(0,1fr)}.jw-puoti .jw-puoti-product-photo{width:56px;height:56px;min-height:56px}.jw-puoti .jw-puoti-product--has-image.jw-puoti-product--list .jw-puoti-price{grid-column:2;grid-row:2;text-align:left}.jw-puoti .jw-puoti-product--has-image .jw-puoti-details{grid-column:2/-1}}
@media(prefers-reduced-motion:reduce){.jw-puoti .jw-puoti-product-thumb,.jw-puoti .jw-puoti-gallery-thumb{transition:none}}

/* 0.1.4: itsenäinen raahattava gallerian sisältölohko */
.jw-puoti .jw-puoti-gallery-block{margin:2rem 0 2.8rem;scroll-margin-top:6rem}
.jw-puoti .jw-puoti-gallery-block h2{font-size:clamp(1.35rem,2.4vw,1.9rem);margin:0 0 1rem;line-height:1.25}
