/* SLP Laser Product Catalog – sivuston tyylit.
   Kaikki värit ja mitat tulevat CSS-muuttujista (--slppc-*), jotka asetetaan kohdassa
   SLP Products → Ulkoasu. Muuttujan jälkeinen arvo on oletus, jos asetusta ei ole. */

/* Ruudukko */
.slppc-grid{display:grid;grid-template-columns:repeat(var(--slppc-cols,var(--slppc-cols-d,3)),minmax(0,1fr));gap:var(--slppc-gap,24px)}
@media(max-width:980px){.slppc-grid{grid-template-columns:repeat(var(--slppc-cols-t,2),minmax(0,1fr))}}
@media(max-width:650px){.slppc-grid{grid-template-columns:repeat(var(--slppc-cols-m,1),minmax(0,1fr))}}

/* Kortti */
.slppc-card{position:relative;isolation:isolate;display:var(--slppc-card-display,flex);flex-direction:column;box-sizing:border-box;background:var(--slppc-card-bg,#fff);border:var(--slppc-card-border-w,1px) solid var(--slppc-card-border,#e7e7e7);border-radius:var(--slppc-card-radius,18px);overflow:hidden;box-shadow:var(--slppc-card-shadow,0 6px 24px rgba(0,0,0,.05));text-align:var(--slppc-align,left);font-family:var(--slppc-font,inherit);transition:transform .2s ease,box-shadow .2s ease}
.slppc-card:hover{transform:translateY(var(--slppc-hover-y,0px));box-shadow:var(--slppc-hover-shadow,var(--slppc-card-shadow,0 6px 24px rgba(0,0,0,.05)))}

/* Tuotekuva */
.slppc-image{display:var(--slppc-image-display,flex);align-items:center;justify-content:center;box-sizing:border-box;aspect-ratio:var(--slppc-image-ratio,4/3);background:var(--slppc-image-bg,#fff);padding:var(--slppc-image-pad,14px);overflow:hidden}
.slppc-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:var(--slppc-image-fit,contain);transition:transform .3s ease}
.slppc-card:hover .slppc-image img{transform:scale(var(--slppc-hover-scale,1))}

/* Nurkkanauha / merkki. Vino nauha: keskikohta 36 px kortin oikeasta ja yläreunasta. */
.slppc-card>.slppc-badge{position:absolute;z-index:3;display:var(--slppc-badge-display,block);box-sizing:border-box;top:var(--slppc-badge-top,22px);right:var(--slppc-badge-right,-39px);left:var(--slppc-badge-left,auto);bottom:auto;width:var(--slppc-badge-width,150px);max-width:none;height:auto;margin:0;padding:var(--slppc-badge-pad,0 34px);transform:var(--slppc-badge-transform,rotate(45deg));transform-origin:50% 50%;border-radius:var(--slppc-badge-radius,0);background:var(--slppc-badge-bg,#16c542);color:var(--slppc-badge-color,#fff);font-family:inherit;font-size:var(--slppc-badge-size,12px);font-weight:800;line-height:28px;letter-spacing:.06em;text-transform:uppercase;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 6px rgba(0,0,0,.12);pointer-events:none}

/* Sisältö */
.slppc-body{display:flex;flex-direction:column;flex:1 1 auto;padding:var(--slppc-card-pad,22px)}
.slppc-body h3{margin:0 0 8px;font-family:inherit;font-size:var(--slppc-title-size,23px);font-weight:var(--slppc-title-weight,700);line-height:1.25;color:var(--slppc-title-color,#111)}
.slppc-body>p{display:var(--slppc-excerpt-display,-webkit-box);-webkit-box-orient:vertical;-webkit-line-clamp:var(--slppc-excerpt-lines,none);overflow:hidden;margin:0;color:var(--slppc-excerpt-color,#666);font-size:var(--slppc-excerpt-size,16px);line-height:1.45}

/* Ominaisuuslista */
.slppc-features{display:var(--slppc-features-display,block);list-style:none;margin:18px 0 0;padding:0}
.slppc-features li{list-style:none;margin:0;padding:calc(var(--slppc-feature-gap,10px) / 2) 0;border-bottom:var(--slppc-feature-divider,0 none);color:var(--slppc-feature-color,#555);font-size:var(--slppc-feature-size,16px);line-height:1.4}
.slppc-features li:last-child{border-bottom:0}
.slppc-features li::before,.slppc-features li::marker{content:none}
.slppc-features span{font-size:0;margin-right:7px}
.slppc-features span::before{content:var(--slppc-feature-icon,"✓");font-size:var(--slppc-feature-size,16px);font-weight:900;color:var(--slppc-feature-icon-color,#16c542)}

/* Painikkeet */
.slppc-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:var(--slppc-justify,flex-start);margin-top:auto;padding-top:20px}
.slppc-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--slppc-btn-pad-y,11px) 16px;border:2px solid var(--slppc-btn-bg,#16c542);border-radius:var(--slppc-btn-radius,9px);background:var(--slppc-btn-fill,var(--slppc-btn-bg,#16c542));color:var(--slppc-btn-text,var(--slppc-btn-color,#07170c))!important;font-family:inherit;font-size:var(--slppc-btn-size,16px);font-weight:800;line-height:1.2;text-decoration:none!important;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.slppc-btn:hover,.slppc-btn:focus-visible{background:var(--slppc-btn-hover-bg,#13a838);border-color:var(--slppc-btn-hover-bg,#13a838);color:var(--slppc-btn-color,#07170c)!important}
.slppc-btn.secondary,.slppc-btn.secondary:hover,.slppc-btn.secondary:focus-visible{background:var(--slppc-btn2-bg,#111);border-color:var(--slppc-btn2-bg,#111);color:var(--slppc-btn2-color,#fff)!important}
.slppc-btn.secondary:hover{filter:brightness(1.15)}
.slppc-actions>.slppc-btn{flex:var(--slppc-btn-flex,1 1 100%)}
.slppc-price-cta{gap:7px;flex-wrap:wrap}
.slppc-price-cta-label{font-size:.8em;font-weight:700;opacity:.8}
.slppc-price-cta strong{font-size:1.08em}
.slppc-price-cta small{font-size:.75em;opacity:.8}

/* Combo-paketti */
.slppc-combo{background:var(--slppc-combo-bg,#111);color:var(--slppc-combo-text,#fff);padding:28px;border-radius:var(--slppc-card-radius,18px);font-family:var(--slppc-font,inherit)}
.slppc-combo h3{color:inherit}
.slppc-combo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.slppc-combo-list label{background:var(--slppc-combo-item-bg,#1d1d1d);padding:12px;border-radius:10px}
@media(max-width:650px){.slppc-combo-list{grid-template-columns:1fr}}

/* Tuotesivu */
.slppc-single-specs dl{display:grid;gap:0;border:1px solid var(--slppc-spec-border,#ddd);border-radius:12px;overflow:hidden}
.slppc-single-specs dl>div{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--slppc-spec-border,#eee)}
.slppc-single-specs dl>div:last-child{border-bottom:0}
.slppc-single-specs dt,.slppc-single-specs dd{padding:12px;margin:0}
.slppc-single-specs dt{font-weight:800;background:var(--slppc-spec-label-bg,#f7f7f7)}
.slppc-single-purchase{margin-top:24px;padding:18px;border:1px solid var(--slppc-spec-border,#dfe7e1);border-radius:12px;background:var(--slppc-purchase-bg,#fbfffc);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.slppc-single-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.slppc-single-price span{font-weight:700}
.slppc-single-price strong{font-size:var(--slppc-single-price-size,24px)}
.slppc-single-price small{color:#666}

/* Tuotesivut eivät ole blogiartikkeleita: piilotetaan teeman kirjoittaja-, päivämäärä- ja kategoriatiedot. */
.single-slp_product .entry-header .entry-meta,
.single-slp_product .entry-header .post-meta,
.single-slp_product .entry-header .post-info,
.single-slp_product .entry-header .posted-on,
.single-slp_product .entry-header .byline,
.single-slp_product .entry-header .author,
.single-slp_product .entry-header .post-date,
.single-slp_product .entry-header .cat-links,
.single-slp_product .entry-header .tags-links,
.single-slp_product .entry-header .ast-post-meta,
.single-slp_product .entry-header .ast-meta-separator{display:none!important}

/* Kokoonpanovalikko (lisävarusteet) */
html.slppc-config-lock{overflow:hidden}
.slppc-config-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:auto;padding:0;border:0;border-radius:var(--slppc-card-radius,18px);background:var(--slppc-card-bg,#fff);color:var(--slppc-title-color,#111);box-shadow:0 24px 70px rgba(0,0,0,.3);overflow:auto;text-align:left;font-family:var(--slppc-font,inherit)}
.slppc-config-dialog::backdrop{background:rgba(10,12,14,.6)}
.slppc-config-dialog:not([open]){display:none}
.slppc-config-form{display:flex;flex-direction:column;margin:0}
.slppc-config-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--slppc-card-border,#e7e7e7)}
.slppc-config-head h3{margin:0;font-size:1.25rem;line-height:1.25;color:var(--slppc-title-color,#111)}
.slppc-config-product{margin:4px 0 0;color:var(--slppc-excerpt-color,#666);font-size:.95rem}
.slppc-config-close{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(127,127,127,.12);color:inherit;font-size:24px;line-height:36px;cursor:pointer}
.slppc-config-close:hover{background:rgba(127,127,127,.22)}
.slppc-config-groups{padding:8px 22px 4px}
.slppc-config-baseline{display:flex;justify-content:space-between;gap:12px;padding:10px 0;color:var(--slppc-excerpt-color,#666)}
.slppc-config-baseline strong{color:var(--slppc-title-color,#111)}
.slppc-config-group{margin:0;padding:12px 0;border:0;border-top:1px solid var(--slppc-card-border,#e7e7e7);min-width:0}
.slppc-config-group legend{padding:0;margin:0 0 8px;font-weight:800;color:var(--slppc-title-color,#111)}
.slppc-config-group legend small{font-weight:400;color:var(--slppc-excerpt-color,#666)}
.slppc-config-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 6px;padding:10px 12px;border:1px solid var(--slppc-card-border,#e7e7e7);border-radius:10px;cursor:pointer;transition:border-color .15s,background-color .15s}
.slppc-config-item:hover{border-color:var(--slppc-btn-bg,#16c542)}
.slppc-config-item:has(input:checked){border-color:var(--slppc-btn-bg,#16c542);background:color-mix(in srgb,var(--slppc-btn-bg,#16c542) 9%,transparent)}
.slppc-config-item input{margin:0;width:18px;height:18px;accent-color:var(--slppc-btn-bg,#16c542)}
.slppc-config-name{display:flex;flex-direction:column;color:var(--slppc-title-color,#111)}
.slppc-config-name small{color:var(--slppc-excerpt-color,#666);font-size:.85em}
.slppc-config-price{font-weight:700;white-space:nowrap;color:var(--slppc-title-color,#111)}
.slppc-config-foot{position:sticky;bottom:0;padding:14px 22px 20px;border-top:1px solid var(--slppc-card-border,#e7e7e7);background:var(--slppc-card-bg,#fff)}
.slppc-config-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.slppc-config-total span{font-weight:700;color:var(--slppc-title-color,#111)}
.slppc-config-total strong{font-size:1.6rem;color:var(--slppc-title-color,#111)}
.slppc-config-total small,.slppc-config-note{color:var(--slppc-excerpt-color,#666)}
.slppc-config-note{margin:0 0 12px;font-size:.85rem}
.slppc-config-submit{width:100%;cursor:pointer}
.slppc-config-open{cursor:pointer}
.slppc-config-inline{margin-top:24px;border:1px solid var(--slppc-card-border,#e7e7e7);border-radius:var(--slppc-card-radius,18px);background:var(--slppc-card-bg,#fff);overflow:hidden}
.slppc-config-inline .slppc-config-foot{position:static}
@media(max-width:650px){.slppc-config-dialog{width:100vw;max-width:100vw;max-height:100vh;height:100%;border-radius:0}.slppc-config-head,.slppc-config-groups,.slppc-config-foot{padding-left:16px;padding-right:16px}}
.slppc-config-std{font-weight:700;font-size:.85em;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--slppc-btn-bg,#16c542) 16%,transparent);color:var(--slppc-title-color,#111)}
.slppc-config-item.is-standard:has(input:disabled){cursor:default}
.slppc-config-item input:disabled{opacity:.7}
.slppc-admin-note{margin-top:24px;padding:14px 16px;border-left:4px solid #dba617;background:#fcf9e8;color:#1d2327;font-size:15px;line-height:1.5;border-radius:4px}
.slppc-admin-note a{font-weight:600}
