/* Savonia – product page (Savonia_ProductPage, 2026-11-02): one column, benefit cards.
   Rails and cards: savonia-rail.css. */
/* ---------- benefit cards ---------- */
.sv-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 28px 0 8px; }
.sv-benefit {
    display: flex; align-items: flex-start; gap: 12px; padding: 16px;
    background: #fff; border-top: 4px solid var(--sv-green); border-radius: var(--sv-radius); box-shadow: var(--sv-shadow);
}
.sv-benefit svg {
    flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--sv-green-soft);
    fill: none; stroke: var(--sv-green-dark); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.sv-benefit strong { display: block; margin: 2px 0 3px; color: var(--sv-text); font-size: 15px; font-weight: 700; line-height: 1.3; }
.sv-benefit span { display: block; color: var(--sv-muted); font-size: 13px; line-height: 1.45; }
@media (max-width: 991px) { .sv-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) {
    .sv-benefits { grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
    .sv-benefit { padding: 12px 14px; }
}

/* ---------- product page layout (one column) ---------- */
.savonia-pp .product-view .product-collateral { margin-top: 36px; }
.savonia-pp .product-tabs { border: 0; }
.savonia-pp .product-tabs > dt,
.savonia-pp .product-tabs .tab-title { font-size: 15px; }

/* PRP explanation bubble on the product itself, in the Savonia card style */
.savonia-pp .product-shop .tooltipprp { border-bottom: 1px dotted var(--sv-green-dark); outline: 0; }
.savonia-pp .product-shop .tooltipprp .tooltiptextprp {
    left: -10px; bottom: calc(100% + 12px); width: 260px; max-width: calc(100vw - 40px); margin-left: 0; padding: 12px 14px;
    background: #fff; border-top: 4px solid var(--sv-green); border-radius: var(--sv-radius); box-shadow: 0 6px 22px rgba(0, 0, 0, .14);
    color: var(--sv-text); font-size: 13px; font-weight: 400; line-height: 1.45; text-align: left; white-space: normal;
    opacity: 0; transform: translateY(4px); transition: opacity .15s, transform .15s, visibility .15s;
}
.savonia-pp .product-shop .tooltipprp .tooltiptextprp::after {
    left: 22px; margin-left: 0; border-width: 7px; border-color: #fff transparent transparent transparent;
    filter: drop-shadow(0 2px 1px rgba(0, 0, 0, .06));
}
.savonia-pp .product-shop .tooltipprp:hover .tooltiptextprp,
.savonia-pp .product-shop .tooltipprp:focus .tooltiptextprp { visibility: visible; opacity: 1; transform: none; }

/* ---------- buy box: [- 1 +] [Adaugă în coș] [heart] ---------- */
.savonia-pp .add-to-box { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 14px 0 6px; }
.savonia-pp .add-to-box > .loyalty-points { flex: 0 0 100%; margin: 0; } /* J2T points text: own row above the buy row */
.savonia-pp .add-to-box .add-to-cart.sv-buy { display: flex; flex: 1 1 0; min-width: 0; align-items: center; gap: 12px; margin: 0; float: none; }
.sv-qty { display: inline-flex; flex: 0 0 auto; align-items: center; height: 50px; border: 1.5px solid #d9d9d9; border-radius: 25px; background: #fff; }
.sv-qty__btn {
    width: 42px; height: 46px; padding: 0; border: 0; background: none; color: var(--sv-text);
    font-size: 22px; font-weight: 600; line-height: 1; cursor: pointer;
}
.sv-qty__btn:first-child { border-radius: 25px 0 0 25px; }
.sv-qty__btn:last-child { border-radius: 0 25px 25px 0; }
.sv-qty__btn:hover { color: var(--sv-green-dark); }
.sv-qty input.qty {
    width: 44px !important; height: 46px; margin: 0; padding: 0; border: 0 !important; background: transparent; box-shadow: none;
    color: var(--sv-text); font-size: 17px; font-weight: 700; text-align: center;
}
.savonia-pp .sv-buy .btn-cart.sv-buy__btn, .savonia-pp .sticky-product .btn-cart {
    display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; min-height: 50px; margin: 0; padding: 0 28px;
    border: 0; border-radius: 25px; background: var(--sv-orange); color: #fff; box-shadow: 0 4px 12px rgba(220, 132, 48, .28);
    font-size: 17px; font-weight: 700; line-height: 1.2; text-transform: none; transition: background-color .2s, transform .1s;
}
.savonia-pp .sticky-product .btn-cart { flex: 0 0 auto; min-height: 44px; background: var(--sv-green); box-shadow: none; font-size: 15px; } /* orange: only the big button */
.savonia-pp .sv-buy .btn-cart.sv-buy__btn:hover { background: var(--sv-orange-dark); }
.savonia-pp .sticky-product .btn-cart:hover { background: var(--sv-green-dark); }
.savonia-pp .sv-buy .btn-cart.sv-buy__btn:active { transform: scale(.98); }
.savonia-pp .sv-buy .btn-cart span, .savonia-pp .sticky-product .btn-cart span { display: inline-flex; align-items: center; gap: 10px; padding: 0; background: none; color: #fff; font-size: inherit; }
.savonia-pp .sv-buy .btn-cart svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.savonia-pp .sticky-product .btn-cart i { display: none; }
.savonia-pp .add-to-box .add-to-links { display: flex; margin: 0; padding: 0; list-style: none; }
.savonia-pp .add-to-box .add-to-links .link-wishlist {
    display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border: 1.5px solid #cfe3a0; border-radius: 50%;
    background: #fff; color: var(--sv-green-dark); font-size: 20px; text-decoration: none;
}
.savonia-pp .add-to-box .add-to-links .link-wishlist:hover { background: var(--sv-green-soft); }
@media (max-width: 479px) {
    .savonia-pp .add-to-box, .savonia-pp .add-to-box .add-to-cart.sv-buy { gap: 8px; }
    .savonia-pp .sv-buy .btn-cart.sv-buy__btn { min-width: 0; padding: 0 10px; font-size: 15px; }
    .sv-qty__btn { width: 34px; }
    .sv-qty input.qty { width: 34px !important; }
    .savonia-pp .add-to-box .add-to-links .link-wishlist { width: 46px; height: 46px; }
}
@media (max-width: 399px) { .savonia-pp .sv-buy .btn-cart svg { display: none; } }

