:root{--vedino-green:#263E34;--vedino-green-dark:#1F332B;--vedino-gold:#C9A85E;--vedino-border:#DFE5E1;--vedino-text:#1B211E;--vedino-muted:#66716B;--vedino-bg:#F7F8F6;--vedino-white:#FFF;--vedino-radius:18px}
.vedino-va,.vedino-va *{box-sizing:border-box}.vedino-va{font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vedino-text);background:var(--vedino-white);border:1px solid var(--vedino-border);border-radius:24px;padding:clamp(22px,4vw,52px);box-shadow:0 18px 55px rgba(31,51,43,.08);scroll-margin-top:110px}.vedino-va button,.vedino-va select,.vedino-va input{font:inherit}
.vedino-va__head{max-width:760px;margin:0 auto 34px;text-align:center}.vedino-va__eyebrow,.vedino-va__step-label{margin:0 0 8px;color:var(--vedino-gold);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vedino-va__head h2{margin:0 0 12px;color:var(--vedino-green);font-size:clamp(30px,5vw,52px);line-height:1.05}.vedino-va__head p:last-child{margin:0;color:var(--vedino-muted);font-size:17px}
.vedino-va__progress{display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:0 auto 42px}.vedino-va__progress>div{position:relative;display:grid;justify-items:center;gap:7px;color:#8A948F;font-size:12px;font-weight:700}.vedino-va__progress>div:not(:last-child)::after{content:"";position:absolute;top:17px;left:calc(50% + 23px);width:calc(100% - 46px);height:2px;background:var(--vedino-border)}.vedino-va__progress span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--vedino-border);background:var(--vedino-white)}.vedino-va__progress .is-active,.vedino-va__progress .is-done{color:var(--vedino-green)}.vedino-va__progress .is-active span{color:var(--vedino-white);border-color:var(--vedino-green);background:var(--vedino-green)}.vedino-va__progress .is-done span{color:var(--vedino-green);border-color:var(--vedino-gold);background:#FBF7EC}.vedino-va__progress .is-done:not(:last-child)::after{background:var(--vedino-gold)}
.vedino-va__panel[hidden]{display:none!important}.vedino-va__panel.is-active{animation:vedinoVaFade .26s ease}@keyframes vedinoVaFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vedino-va__question{text-align:center;max-width:720px;margin:0 auto 28px}.vedino-va__question h3,.vedino-va__results-head h3{margin:0 0 9px;color:var(--vedino-green);font-size:clamp(24px,4vw,36px)}.vedino-va__question p:last-child,.vedino-va__results-head p:last-child{margin:0;color:var(--vedino-muted)}
.vedino-va__choice-grid{display:grid;gap:16px}.vedino-va__choice-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.vedino-va__choice,.vedino-va__spacing,.vedino-va__color{appearance:none;border:1px solid var(--vedino-border);background:var(--vedino-white);color:var(--vedino-text);cursor:pointer;transition:.18s ease}.vedino-va__choice{min-height:208px;padding:26px;border-radius:var(--vedino-radius);text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.vedino-va__choice:hover,.vedino-va__spacing:hover,.vedino-va__color:hover{transform:translateY(-2px);border-color:var(--vedino-gold);box-shadow:0 12px 28px rgba(31,51,43,.09)}.vedino-va__choice.is-selected,.vedino-va__spacing.is-selected,.vedino-va__color.is-selected{border-color:var(--vedino-gold);box-shadow:inset 0 0 0 2px var(--vedino-gold);background:#FFFCF5}.vedino-va__choice-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--vedino-green);color:var(--vedino-white);font-size:28px;line-height:1}.vedino-va__choice-icon--knob{font-size:20px}.vedino-va__choice strong{color:var(--vedino-green);font-size:18px}.vedino-va__choice small{color:var(--vedino-muted);font-size:14px;line-height:1.55}
.vedino-va__measure-card{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(260px,1.05fr);align-items:center;gap:28px;max-width:980px;margin:0 auto 26px;padding:18px;border-radius:var(--vedino-radius);background:var(--vedino-bg);border:1px solid var(--vedino-border)}.vedino-va__measure-card img{width:100%;height:auto;border-radius:12px;background:#fff}.vedino-va__measure-card strong{display:block;margin-bottom:8px;color:var(--vedino-green);font-size:20px}.vedino-va__measure-card p{margin:0 0 12px;color:var(--vedino-muted)}.vedino-va__text-button{padding:0;border:0;background:transparent;color:var(--vedino-green);cursor:pointer;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.vedino-va__spacing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:880px;margin:0 auto}.vedino-va__spacing{padding:19px 12px;border-radius:14px;text-align:center}.vedino-va__spacing strong{display:block;color:var(--vedino-green);font-size:19px}.vedino-va__spacing small{color:var(--vedino-muted)}.vedino-va__spacing--help{background:var(--vedino-green);border-color:var(--vedino-green)}.vedino-va__spacing--help strong,.vedino-va__spacing--help small{color:var(--vedino-white)}
.vedino-va__measure-helper{max-width:760px;margin:22px auto 0;padding:24px;border:1px solid var(--vedino-gold);border-radius:var(--vedino-radius);background:#FFFCF5}.vedino-va__measure-helper h4{margin:0 0 7px;color:var(--vedino-green);font-size:22px}.vedino-va__measure-helper>p{margin:0 0 18px;color:var(--vedino-muted)}.vedino-va__measure-inputs{display:grid;grid-template-columns:1fr 150px auto;gap:12px;align-items:end}.vedino-va__measure-inputs label{display:grid;gap:7px;color:var(--vedino-green);font-weight:700}.vedino-va__measure-inputs input,.vedino-va__measure-inputs select,.vedino-va__results-controls select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--vedino-border);border-radius:10px;background:#fff;color:var(--vedino-text)}.vedino-va__measure-result{margin-top:14px}.vedino-va__measure-result .is-error{color:#A42626;font-weight:700}.vedino-va__suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:12px;background:#fff}.vedino-va__suggestion strong{flex:1 1 280px;color:var(--vedino-green)}
.vedino-va__color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:880px;margin:0 auto}.vedino-va__color{min-height:118px;padding:18px;border-radius:16px;display:grid;place-items:center;gap:10px}.vedino-va__color strong{color:var(--vedino-green)}.vedino-va__swatch{width:42px;height:42px;border-radius:50%;border:1px solid rgba(0,0,0,.14);box-shadow:inset 0 0 0 3px rgba(255,255,255,.5)}.vedino-va__swatch--black{background:#171A18}.vedino-va__swatch--brass{background:linear-gradient(135deg,#8B6824,#E5C56D 52%,#9D782F)}.vedino-va__swatch--chrome{background:linear-gradient(135deg,#8F9699,#F4F6F6 45%,#A7AEB1 70%,#EEF0F1)}.vedino-va__swatch--rst{background:repeating-linear-gradient(90deg,#ADB2B3 0 2px,#D8DCDB 2px 4px)}.vedino-va__swatch--white{background:#fff}.vedino-va__swatch--wood{background:linear-gradient(110deg,#8A5B37,#C99B65 45%,#7A4B2C 48%,#C99B65 70%)}.vedino-va__swatch--all{background:conic-gradient(#171A18,#C9A85E,#E9ECEA,#8A5B37,#171A18)}
.vedino-va__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--vedino-green);border-radius:10px;background:var(--vedino-green);color:#fff;cursor:pointer;font-weight:800;text-decoration:none}.vedino-va__button:hover{background:var(--vedino-green-dark);color:#fff}.vedino-va__button--secondary{border-color:var(--vedino-gold);background:var(--vedino-gold);color:#17241F}.vedino-va__button--ghost{border-color:var(--vedino-border);background:#fff;color:var(--vedino-green)}.vedino-va__actions{display:flex;justify-content:flex-start;max-width:980px;margin:28px auto 0}
.vedino-va__results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.vedino-va__results-controls{display:flex;align-items:end;gap:12px}.vedino-va__results-controls label{display:grid;gap:6px;color:var(--vedino-green);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.vedino-va__products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vedino-va__product{overflow:hidden;border:1px solid var(--vedino-border);border-radius:16px;background:#fff;transition:.18s ease}.vedino-va__product:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(31,51,43,.09)}.vedino-va__product-image{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--vedino-bg)}.vedino-va__product-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.vedino-va__product:hover .vedino-va__product-image img{transform:scale(1.025)}.vedino-va__product-body{padding:18px}.vedino-va__sku{margin:0 0 7px;color:var(--vedino-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.vedino-va__product h4{margin:0 0 12px;font-size:17px;line-height:1.4}.vedino-va__product h4 a{color:var(--vedino-green);text-decoration:none}.vedino-va__price{margin-bottom:16px;color:var(--vedino-green);font-size:19px;font-weight:800}.vedino-va__product-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vedino-va__view,.vedino-va__add{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 10px!important;border-radius:9px!important;font-size:13px!important;font-weight:800!important;text-align:center;text-decoration:none!important}.vedino-va__view{border:1px solid var(--vedino-border);color:var(--vedino-green);background:#fff}.vedino-va__add{border:1px solid var(--vedino-green)!important;color:#fff!important;background:var(--vedino-green)!important}.vedino-va__loading{display:grid;justify-items:center;gap:10px;padding:44px;color:var(--vedino-muted)}.vedino-va__loading span{width:34px;height:34px;border:3px solid var(--vedino-border);border-top-color:var(--vedino-green);border-radius:50%;animation:vedinoVaSpin .8s linear infinite}@keyframes vedinoVaSpin{to{transform:rotate(360deg)}}.vedino-va__empty{grid-column:1/-1;padding:42px;border:1px dashed var(--vedino-border);border-radius:16px;background:var(--vedino-bg);text-align:center}.vedino-va__empty h4{margin:0 0 7px;color:var(--vedino-green)}.vedino-va__empty p{margin:0;color:var(--vedino-muted)}
.vedino-va__dialog{width:min(980px,calc(100vw - 30px));max-height:calc(100vh - 30px);padding:18px;border:0;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.vedino-va__dialog::backdrop{background:rgba(15,26,21,.72)}.vedino-va__dialog img{display:block;width:100%;height:auto}.vedino-va__dialog-close{position:sticky;top:0;z-index:2;float:right;display:grid;place-items:center;width:42px;height:42px;margin:-5px -5px 8px 8px;border:0;border-radius:50%;background:var(--vedino-green);color:#fff;cursor:pointer;font-size:28px;line-height:1}
@media(max-width:900px){.vedino-va__choice-grid--three{grid-template-columns:1fr}.vedino-va__choice{min-height:auto}.vedino-va__measure-card{grid-template-columns:1fr}.vedino-va__spacing-grid,.vedino-va__color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vedino-va__products{grid-template-columns:repeat(2,minmax(0,1fr))}.vedino-va__results-head{align-items:stretch;flex-direction:column}}
@media(max-width:620px){.vedino-va{padding:20px 14px;border-radius:16px}.vedino-va__progress{margin-bottom:30px}.vedino-va__progress small{font-size:10px}.vedino-va__progress>div:not(:last-child)::after{left:calc(50% + 20px);width:calc(100% - 40px)}.vedino-va__progress span{width:32px;height:32px}.vedino-va__spacing-grid,.vedino-va__color-grid{gap:9px}.vedino-va__measure-inputs{grid-template-columns:1fr 110px}.vedino-va__measure-inputs .vedino-va__button{grid-column:1/-1}.vedino-va__results-controls{align-items:stretch;flex-direction:column}.vedino-va__products{grid-template-columns:1fr}.vedino-va__product-actions{grid-template-columns:1fr}}

/* 1.1.0: selkeämpi tulosnäkymä ja määrän valinta */
.vedino-va__product h4{
    min-height:42px;
    margin:0 0 10px!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    text-transform:none!important;
}
.vedino-va__product h4 a{
    font-size:inherit!important;
    line-height:inherit!important;
}
.vedino-va__price{
    margin-bottom:14px;
    font-size:18px;
}
.vedino-va__view,.vedino-va__select-product{
    appearance:none!important;
    position:relative!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 10px!important;
    border-radius:9px!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.2!important;
    text-align:center;
    text-decoration:none!important;
    cursor:pointer;
}
.vedino-va__select-product{
    border:1px solid var(--vedino-green)!important;
    background:var(--vedino-green)!important;
    color:#fff!important;
}
.vedino-va__select-product:hover{
    background:var(--vedino-green-dark)!important;
    color:#fff!important;
}
.vedino-va__select-product--link{
    box-sizing:border-box;
}
.vedino-va__results-more{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:26px 0 0;
    padding:18px;
    border:1px solid var(--vedino-border);
    border-radius:14px;
    background:var(--vedino-bg);
}
.vedino-va__results-more[hidden]{display:none!important}
.vedino-va__results-more p{
    margin:0;
    color:var(--vedino-muted);
    font-size:14px;
    font-weight:700;
}
.vedino-va__product-dialog{
    position:relative;
    width:min(820px,calc(100vw - 30px));
    padding:24px;
    overflow:visible;
}
.vedino-va__product-dialog .vedino-va__dialog-close{
    position:absolute;
    top:14px;
    right:14px;
    float:none;
    margin:0;
}
.vedino-va__product-dialog-grid{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);
    gap:28px;
    align-items:start;
}
.vedino-va__product-dialog-image{
    aspect-ratio:1/1;
    overflow:hidden;
    border:1px solid var(--vedino-border);
    border-radius:15px;
    background:var(--vedino-bg);
}
.vedino-va__product-dialog-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}
.vedino-va__product-dialog-content{
    padding:10px 4px 0;
}
.vedino-va__product-dialog-content h3{
    margin:0 46px 8px 0!important;
    color:var(--vedino-green)!important;
    font-size:21px!important;
    line-height:1.3!important;
}
.vedino-va__product-dialog-price{
    margin:0 0 20px;
    color:var(--vedino-green);
    font-size:19px;
    font-weight:800;
}
.vedino-va__quantity-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 12px;
    color:var(--vedino-green);
    font-weight:800;
}
.vedino-va__quantity-control{
    display:grid;
    grid-template-columns:42px 64px 42px;
    align-items:center;
    overflow:hidden;
    border:1px solid var(--vedino-border);
    border-radius:10px;
    background:#fff;
}
.vedino-va__quantity-control button{
    appearance:none;
    width:42px;
    height:44px;
    padding:0;
    border:0;
    background:var(--vedino-bg);
    color:var(--vedino-green);
    cursor:pointer;
    font-size:22px;
    font-weight:800;
}
.vedino-va__quantity-control input{
    width:64px;
    height:44px;
    padding:0 4px;
    border:0;
    border-right:1px solid var(--vedino-border);
    border-left:1px solid var(--vedino-border);
    border-radius:0;
    background:#fff;
    color:var(--vedino-green);
    font-weight:800;
    text-align:center;
    -moz-appearance:textfield;
}
.vedino-va__quantity-control input::-webkit-outer-spin-button,
.vedino-va__quantity-control input::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
}
.vedino-va__quick-qty{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 18px;
}
.vedino-va__quick-qty button{
    appearance:none;
    min-height:34px;
    padding:0 11px;
    border:1px solid var(--vedino-border);
    border-radius:999px;
    background:#fff;
    color:var(--vedino-green);
    cursor:pointer;
    font-size:12px;
    font-weight:800;
}
.vedino-va__quick-qty button:hover,
.vedino-va__quick-qty button.is-selected{
    border-color:var(--vedino-gold);
    background:#FBF7EC;
}
.vedino-va__subtotal{
    display:grid;
    gap:3px;
    margin:0 0 14px;
    padding:14px;
    border-radius:12px;
    background:var(--vedino-bg);
}
.vedino-va__subtotal span{
    color:var(--vedino-muted);
    font-size:11px;
    font-weight:700;
}
.vedino-va__subtotal strong{
    color:var(--vedino-green);
    font-size:21px;
}
.vedino-va__subtotal small{
    color:var(--vedino-muted);
    font-size:11px;
    line-height:1.4;
}
.vedino-va__button--wide{
    width:100%;
    min-height:48px;
}
.vedino-va__button:disabled{
    cursor:wait;
    opacity:.65;
}
.vedino-va__product-detail-link{
    display:block;
    margin-top:12px;
    color:var(--vedino-green);
    font-size:13px;
    font-weight:800;
    text-align:center;
    text-underline-offset:3px;
}
.vedino-va__cart-feedback{
    margin:0 0 10px;
}
.vedino-va__cart-feedback:empty{
    display:none;
}
.vedino-va__cart-feedback .is-success{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px;
    padding:11px 12px;
    border:1px solid #BFD7C8;
    border-radius:10px;
    background:#F0F8F3;
    color:var(--vedino-green);
    font-size:12px;
}
.vedino-va__cart-feedback .is-success a{
    color:var(--vedino-green);
    font-weight:800;
}
.vedino-va__cart-feedback .is-error{
    margin:0;
    padding:11px 12px;
    border:1px solid #E4B9B9;
    border-radius:10px;
    background:#FFF5F5;
    color:#A42626;
    font-size:12px;
    font-weight:700;
}
@media(max-width:700px){
    .vedino-va__product-dialog{
        max-height:calc(100vh - 20px);
        padding:18px;
        overflow:auto;
    }
    .vedino-va__product-dialog-grid{
        grid-template-columns:1fr;
        gap:16px;
    }
    .vedino-va__product-dialog-image{
        max-height:260px;
    }
    .vedino-va__product-dialog-content{
        padding:0;
    }
    .vedino-va__product-dialog-content h3{
        font-size:18px!important;
    }
    .vedino-va__quantity-row{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* 1.1.1: lataustilan korjaus ja yksi selkeä tuotepainike */
.vedino-va__loading[hidden]{display:none!important}
.vedino-va__loading{display:none}
.vedino-va__loading.is-visible{display:grid}
.vedino-va__product-image{cursor:default}
.vedino-va__product h4{min-height:42px;color:var(--vedino-green)!important}
.vedino-va__product-actions{display:block!important}
.vedino-va__select-product{width:100%!important;min-height:46px;font-size:13px!important}
.vedino-va__product-dialog-sku{margin:0 0 7px;color:var(--vedino-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.vedino-va__product-dialog-description{margin:0 0 18px;color:var(--vedino-muted);font-size:13px;line-height:1.6}
.vedino-va__product-detail-link{display:none!important}

/* 1.1.2: WooCommercen ylimääräinen ostoskorilinkki pois */
.vedino-va__product-dialog a.added_to_cart,
.vedino-va__product-dialog a.added_to_cart.wc-forward{
    display:none!important;
}

/* 1.2.0: tarkemmat kuvat, viiden tuotteen ruudukko ja selaimeen tallentuvat suosikit */
.vedino-va__head .vedino-va__favorites-launch{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    margin:20px auto 0;
    padding:0 14px;
    border:1px solid var(--vedino-border);
    border-radius:999px;
    background:#fff;
    color:var(--vedino-green);
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    box-shadow:0 7px 18px rgba(31,51,43,.06);
}
.vedino-va__favorites-launch:hover{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
}
.vedino-va__favorites-launch>span{
    color:var(--vedino-gold);
    font-size:21px;
    line-height:1;
}
.vedino-va__favorites-launch b{
    display:grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    border-radius:999px;
    background:var(--vedino-green);
    color:#fff;
    font-size:11px;
}

.vedino-va__products{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
}
.vedino-va__product{
    position:relative;
    border-radius:13px;
}
.vedino-va__product-image{
    position:relative;
    background:#fff;
}
.vedino-va__product-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    image-rendering:auto;
}
.vedino-va__product-body{
    padding:12px;
}
.vedino-va__sku{
    margin-bottom:5px;
    font-size:9.5px;
}
.vedino-va__product h4{
    min-height:55px;
    margin-bottom:8px!important;
    font-size:12.5px!important;
    line-height:1.4!important;
}
.vedino-va__price{
    margin-bottom:11px;
    font-size:15.5px;
}
.vedino-va__select-product{
    min-height:40px!important;
    padding:0 8px!important;
    font-size:11.5px!important;
}
.vedino-va__favorite-button{
    appearance:none;
    position:absolute;
    top:9px;
    right:9px;
    z-index:2;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid rgba(38,62,52,.14);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--vedino-green);
    cursor:pointer;
    font-size:23px;
    line-height:1;
    box-shadow:0 6px 18px rgba(31,51,43,.12);
    transition:.18s ease;
}
.vedino-va__favorite-button:hover{
    transform:scale(1.06);
    border-color:var(--vedino-gold);
}
.vedino-va__favorite-button.is-favorite{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
    color:var(--vedino-gold);
}

.vedino-va__favorite-dialog-button{
    appearance:none;
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    margin:0 0 17px;
    padding:0 12px;
    border:1px solid var(--vedino-border);
    border-radius:999px;
    background:#fff;
    color:var(--vedino-green);
    cursor:pointer;
    font-size:12px;
}
.vedino-va__favorite-dialog-button span{
    color:var(--vedino-gold);
    font-size:20px;
    line-height:1;
}
.vedino-va__favorite-dialog-button:hover,
.vedino-va__favorite-dialog-button.is-favorite{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
}
.vedino-va__product-page-button{
    appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:40px;
    margin-top:9px;
    padding:0 14px;
    border:1px solid var(--vedino-border);
    border-radius:10px;
    background:#fff;
    color:var(--vedino-green)!important;
    font-size:12px;
    font-weight:800;
    text-align:center;
    text-decoration:none!important;
}
.vedino-va__product-page-button:hover{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
    color:var(--vedino-green)!important;
}

.vedino-va__favorites-dialog{
    position:relative;
    width:min(1180px,calc(100vw - 30px));
    padding:28px;
    overflow:auto;
}
.vedino-va__favorites-dialog .vedino-va__dialog-close{
    position:absolute;
    top:16px;
    right:16px;
    float:none;
    margin:0;
}
.vedino-va__favorites-head{
    max-width:760px;
    margin:0 auto 24px;
    padding:0 54px;
    text-align:center;
}
.vedino-va__favorites-head h3{
    margin:0 0 8px!important;
    color:var(--vedino-green)!important;
    font-size:clamp(25px,4vw,38px)!important;
}
.vedino-va__favorites-head>p:last-child{
    margin:0;
    color:var(--vedino-muted);
}
.vedino-va__favorites-loading{
    padding:32px;
}
.vedino-va__favorites-products .vedino-va__empty{
    min-height:220px;
    display:grid;
    align-content:center;
}

@media(max-width:1199px){
    .vedino-va__products{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
    .vedino-va__products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .vedino-va__products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .vedino-va__favorites-dialog{padding:20px 14px}
    .vedino-va__favorites-head{padding:0 42px}
    .vedino-va__product h4{min-height:52px;font-size:12px!important}
    .vedino-va__favorite-button{top:7px;right:7px;width:35px;height:35px}
}
@media(max-width:430px){
    .vedino-va__products{grid-template-columns:1fr}
    .vedino-va__product h4{min-height:auto}
}

/* 1.2.1: erillinen suosikkipainike Breakdance-headeriin */
.vedino-va--header-favorites{
    display:inline-block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-margin:0!important;
    color:#fff!important;
    vertical-align:middle;
}
.vedino-va__header-favorites-button{
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.26)!important;
    border-radius:999px!important;
    background:transparent!important;
    color:inherit!important;
    cursor:pointer!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    transition:.18s ease!important;
}
.vedino-va__header-favorites-button:hover{
    border-color:var(--vedino-gold)!important;
    background:rgba(255,255,255,.08)!important;
}
.vedino-va__header-favorites-icon{
    color:var(--vedino-gold)!important;
    font-size:21px!important;
    line-height:1!important;
}
.vedino-va__header-favorites-button b{
    display:grid!important;
    place-items:center!important;
    min-width:23px!important;
    height:23px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:var(--vedino-gold)!important;
    color:var(--vedino-green-dark)!important;
    font-size:11px!important;
    line-height:1!important;
}
@media(max-width:620px){
    .vedino-va__header-favorites-button{
        width:42px!important;
        min-width:42px!important;
        padding:0!important;
    }
    .vedino-va__header-favorites-button strong{
        display:none!important;
    }
    .vedino-va__header-favorites-button b{
        position:absolute!important;
        transform:translate(15px,-14px)!important;
        min-width:18px!important;
        height:18px!important;
        padding:0 4px!important;
        font-size:9px!important;
    }
}

/* 1.2.2: pienennettävä apuri ja aina näyttöruutuun avautuvat popupit */
.vedino-va:not(.vedino-va--header-favorites){
    padding:0;
}
.vedino-va__collapse-toggle{
    appearance:none;
    display:flex;
    align-items:center;
    gap:18px;
    width:100%;
    min-height:92px;
    padding:20px clamp(20px,3vw,34px);
    border:0;
    border-radius:23px;
    background:linear-gradient(135deg,#fff 0%,#FBFCFA 100%);
    color:var(--vedino-green);
    cursor:pointer;
    text-align:left;
    transition:background .18s ease,box-shadow .18s ease;
}
.vedino-va__collapse-toggle:hover{
    background:#FFFCF5;
    box-shadow:inset 0 0 0 1px rgba(201,168,94,.5);
}
.vedino-va.is-expanded .vedino-va__collapse-toggle{
    border-radius:23px 23px 0 0;
    border-bottom:1px solid var(--vedino-border);
    background:#F8FAF8;
}
.vedino-va__collapse-icon{
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:15px;
    background:var(--vedino-green);
    color:#fff;
    font-size:26px;
    font-weight:800;
}
.vedino-va__collapse-copy{
    display:grid;
    gap:4px;
    flex:1 1 auto;
    min-width:0;
}
.vedino-va__collapse-copy strong{
    color:var(--vedino-green);
    font-size:clamp(18px,2.1vw,24px);
    line-height:1.2;
}
.vedino-va__collapse-copy small{
    color:var(--vedino-muted);
    font-size:14px;
    line-height:1.45;
}
.vedino-va__collapse-action{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:0 18px;
    border-radius:12px;
    background:var(--vedino-green);
    color:#fff;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}
.vedino-va__collapse-action b{
    color:var(--vedino-gold);
    font-size:18px;
}
.vedino-va__collapsible{
    padding:clamp(22px,4vw,52px);
}
.vedino-va__collapsible[hidden]{
    display:none!important;
}
.vedino-va__collapse-bottom{
    display:flex;
    justify-content:center;
    margin:34px auto 0;
    padding-top:24px;
    border-top:1px solid var(--vedino-border);
}
.vedino-va__collapse-bottom .vedino-va__button{
    min-width:190px;
}

/* Native dialog on aina nykyisessä näyttöruudussa, ei sivun dokumenttivirrassa. */
.vedino-va__dialog[open]{
    position:fixed!important;
    inset:50% auto auto 50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    max-height:calc(100vh - 30px)!important;
    max-height:calc(100dvh - 30px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
}

@media(max-width:700px){
    .vedino-va__collapse-toggle{
        display:grid;
        grid-template-columns:48px minmax(0,1fr);
        gap:12px 14px;
        min-height:0;
        padding:17px;
    }
    .vedino-va__collapse-icon{
        width:48px;
        height:48px;
        grid-row:1 / span 2;
    }
    .vedino-va__collapse-copy strong{
        font-size:17px;
    }
    .vedino-va__collapse-copy small{
        font-size:12px;
    }
    .vedino-va__collapse-action{
        grid-column:1 / -1;
        width:100%;
        min-height:43px;
        margin-top:2px;
    }
    .vedino-va__collapsible{
        padding:20px 14px 24px;
    }
    .vedino-va__collapse-bottom{
        margin-top:26px;
    }

    .vedino-va__product-dialog[open],
    .vedino-va__favorites-dialog[open]{
        inset:auto 0 0 0!important;
        transform:none!important;
        width:100%!important;
        max-width:none!important;
        max-height:calc(100vh - 8px)!important;
        max-height:calc(100dvh - 8px)!important;
        margin:0!important;
        padding:18px 14px 20px!important;
        border-radius:22px 22px 0 0!important;
        overflow-y:auto!important;
    }
    .vedino-va__product-dialog .vedino-va__dialog-close,
    .vedino-va__favorites-dialog .vedino-va__dialog-close{
        position:sticky!important;
        top:0!important;
        right:auto!important;
        float:right!important;
        margin:0 0 8px 8px!important;
    }
}

/* 1.2.3: valinnat pysyvät paikoillaan ja nollaus löytyy apurin yläosasta */
.vedino-va__head-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:20px auto 0;
}
.vedino-va__head-actions .vedino-va__favorites-launch{
    margin:0;
}
.vedino-va__reset-launch{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    margin:0;
    padding:0 14px;
    border:1px solid var(--vedino-border);
    border-radius:999px;
    background:var(--vedino-bg);
    color:var(--vedino-green);
    cursor:pointer;
    font-size:13px;
    font-weight:800;
    box-shadow:0 7px 18px rgba(31,51,43,.04);
    transition:.18s ease;
}
.vedino-va__reset-launch:hover{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
}
.vedino-va__reset-launch>span{
    color:var(--vedino-gold);
    font-size:20px;
    line-height:1;
}
@media(max-width:620px){
    .vedino-va__head-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
        gap:8px;
    }
    .vedino-va__head-actions .vedino-va__favorites-launch,
    .vedino-va__reset-launch{
        width:100%;
        min-width:0;
        padding:0 10px;
        font-size:12px;
    }
}

/* 1.2.4: suosikkitoiminnot tuotekortin alaosaan, tuotepopupiin ja varsinaiselle tuotesivulle */
.vedino-va__product-favorite-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--vedino-border);
}
.vedino-va__card-favorite-button,
.vedino-va__view-favorites-card{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    min-width:0;
    min-height:0;
    margin:0;
    padding:4px 0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--vedino-muted);
    cursor:pointer;
    font-family:inherit;
    font-size:10.5px;
    font-weight:700;
    line-height:1.2;
    text-align:left;
    white-space:nowrap;
    box-shadow:none;
    transition:color .18s ease;
}
.vedino-va__view-favorites-card{
    justify-content:flex-end;
    text-align:right;
}
.vedino-va__card-favorite-button span{
    flex:0 0 auto;
    color:var(--vedino-gold);
    font-size:15px;
    line-height:1;
}
.vedino-va__card-favorite-button strong{
    min-width:0;
    font:inherit;
    color:inherit;
    white-space:nowrap;
}
.vedino-va__card-favorite-button:hover,
.vedino-va__view-favorites-card:hover,
.vedino-va__card-favorite-button.is-favorite{
    border:0;
    background:transparent;
    color:var(--vedino-green);
}
.vedino-va__card-favorite-button.is-favorite span{
    color:var(--vedino-gold);
}
.vedino-va__favorites-products .vedino-va__view-favorites-card{
    display:none;
}
.vedino-va__favorites-products .vedino-va__product-favorite-actions{
    justify-content:flex-start;
}

.vedino-va__popup-favorite-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:9px;
}
.vedino-va__popup-favorite-actions .vedino-va__favorite-dialog-button{
    display:flex;
    justify-content:center;
    width:100%;
    min-height:40px;
    margin:0;
    border-radius:10px;
}
.vedino-va__view-favorites-button{
    appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    min-height:40px;
    padding:0 11px;
    border:1px solid var(--vedino-border);
    border-radius:10px;
    background:#fff;
    color:var(--vedino-green);
    cursor:pointer;
    font-size:12px;
    font-weight:800;
    transition:.18s ease;
}
.vedino-va__view-favorites-button:hover{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
}
.vedino-va__view-favorites-button>span{
    color:var(--vedino-gold);
    font-size:18px;
    line-height:1;
}
.vedino-va__view-favorites-button b{
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:var(--vedino-green);
    color:#fff;
    font-size:10px;
}

.vedino-va--single-product-favorites{
    width:100%;
    max-width:none;
    margin:12px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.vedino-va__single-favorite-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
}
.vedino-va__single-favorite-button,
.vedino-va__single-view-favorites{
    appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    padding:0 12px;
    border:1px solid var(--vedino-border);
    border-radius:10px;
    background:#fff;
    color:var(--vedino-green);
    cursor:pointer;
    font-family:inherit;
    font-size:12px;
    font-weight:800;
    transition:.18s ease;
}
.vedino-va__single-favorite-button:hover,
.vedino-va__single-view-favorites:hover,
.vedino-va__single-favorite-button.is-favorite{
    border-color:var(--vedino-gold);
    background:#FFFCF5;
}
.vedino-va__single-favorite-button>span,
.vedino-va__single-view-favorites>span{
    color:var(--vedino-gold);
    font-size:20px;
    line-height:1;
}
.vedino-va__single-view-favorites b{
    display:grid;
    place-items:center;
    min-width:21px;
    height:21px;
    padding:0 5px;
    border-radius:999px;
    background:var(--vedino-green);
    color:#fff;
    font-size:10px;
}

@media(max-width:620px){
    .vedino-va__product-favorite-actions{
        display:flex;
        gap:12px;
    }
    .vedino-va__card-favorite-button,
    .vedino-va__view-favorites-card{
        font-size:11px;
    }
    .vedino-va__popup-favorite-actions,
    .vedino-va__single-favorite-actions{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .vedino-va__popup-favorite-actions button,
    .vedino-va__single-favorite-actions button{
        padding-left:7px;
        padding-right:7px;
        font-size:11px;
    }
}

/* 1.2.5: tuotekortin suosikkitoiminnot ovat pienet tekstilinkit ilman raskaita laatikkopainikkeita. */
