/* Jivo product experience: native WooCommerce controls, modern presentation. */
.jivo-product-page { --jp-ink:#191b25; --jp-muted:#727687; --jp-line:#e6e8f0; --jp-accent:#5965ee; --jp-soft:#f3f5ff; background:#fff; color:var(--jp-ink); }
.jivo-product-page #nm-main { background:#fff; }
.jivo-product-page .nm-single-product-bg { padding:0 0 38px; background:#fff !important; }
.jivo-product-page .jivo-single-product { padding-bottom:36px; }
.jivo-product-page .jivo-product-breadcrumb { max-width:1240px; margin:auto; padding:22px 28px; }
.jivo-product-page .woocommerce-breadcrumb { margin:0; padding:0; color:#868a98; font-size:12px; line-height:1.6; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jivo-product-page .woocommerce-breadcrumb a { color:#5e6373; }
.jivo-product-page .nm-single-product-summary-row.nm-row { width:100%; max-width:1240px; margin:0 auto; padding:0 28px; }
.jivo-product-page .nm-single-product-summary-col.jivo-product-showcase { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:start; gap:52px; float:none; width:100%; padding:0; }
.jivo-product-page .jivo-product-gallery { position:relative; min-width:0; border-radius:25px; }
.jivo-product-page .jivo-product-gallery .woocommerce-product-gallery { float:none; width:100% !important; max-width:none; margin:0; padding:0 !important; }
.jivo-product-page .woocommerce-product-gallery__wrapper { overflow:hidden; border-radius:25px; background:#f5f6f9; }
.jivo-product-page .woocommerce-product-gallery__image img { width:100%; object-fit:contain; }
.jivo-product-page .woocommerce-product-gallery .flex-viewport { border-radius:25px; }
.jivo-product-page .woocommerce-product-gallery .flex-control-thumbs { display:flex; justify-content:center; gap:10px; float:none; width:100%; margin:14px 0 0; padding:0; }
.jivo-product-page .woocommerce-product-gallery .flex-control-thumbs li { float:none; width:60px; margin:0; padding:0; }
.jivo-product-page .woocommerce-product-gallery .flex-control-thumbs img { border-radius:12px; border:2px solid transparent; opacity:.65; }
.jivo-product-page .woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color:var(--jp-accent); opacity:1; }
.jivo-product-page .woocommerce-product-gallery__trigger { z-index:4; right:15px; bottom:15px; top:auto; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.94); box-shadow:0 5px 18px #252a4312; }
.jivo-product-gallery-tools { position:absolute; z-index:5; top:15px; right:15px; display:flex; gap:9px; }
.jivo-product-page .jivo-product-share,.jivo-product-page .jivo-product-wishlist a { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #ffffffa6; border-radius:50%; background:rgba(255,255,255,.94); color:#454b62; box-shadow:0 6px 22px #252a4314; font-size:19px; cursor:pointer; }
.jivo-product-share svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.jivo-product-image-counter { position:absolute; z-index:4; top:15px; left:15px; padding:6px 11px; border:1px solid #ffffff8c; border-radius:999px; background:#ffffffed; color:#53596b; font-size:11px; font-weight:750; letter-spacing:.04em; pointer-events:none; }
.jivo-product-share-feedback { position:absolute; z-index:6; top:65px; right:15px; padding:0; border-radius:10px; background:#252938; color:#fff; font-size:12px; }
.jivo-product-share-feedback:not(:empty) { padding:8px 12px; }
.jivo-product-page .jivo-product-showcase > .summary { position:sticky; top:105px; float:none; width:100% !important; min-width:0; margin:0; padding:5px 0 0; }
.jivo-product-page .summary .product_title { margin:0 0 11px; color:var(--jp-ink); font-size:clamp(25px,2.6vw,34px); font-weight:750; letter-spacing:-.035em; line-height:1.22; overflow-wrap:anywhere; }
.jivo-product-review-link { display:inline-block; margin-bottom:14px; color:#838797; font-size:12px; }
.jivo-product-page .summary .woocommerce-product-rating { margin:0 0 14px; font-size:12px; }
.jivo-product-page .summary > .price { margin:0 0 17px; color:var(--jp-ink); font-size:27px; font-weight:800; letter-spacing:-.035em; line-height:1.3; }
.jivo-product-page .price del { color:#979aaa; font-size:.68em; font-weight:500; text-decoration:line-through; }
.jivo-product-page .price ins { background:none; color:var(--jp-ink); text-decoration:none; }
.jivo-product-page .summary .woocommerce-product-details__short-description { margin:0 0 22px; color:#6b7080; font-size:14px; line-height:1.7; }
.jivo-product-page .summary .woocommerce-product-details__short-description p { margin:0; }
.jivo-product-page .summary form.cart { margin:0 0 16px; padding:0; border:0; background:none; }
.jivo-product-page .summary table.variations { display:block; width:100%; margin:0 0 17px; border:0; background:none; }
.jivo-product-page .summary table.variations tbody,.jivo-product-page .summary table.variations tr { display:block; width:100%; border:0; }
.jivo-product-page .summary table.variations th,.jivo-product-page .summary table.variations td { display:block; width:100%; height:auto; padding:0; border:0; text-align:left; }
.jivo-product-page .summary table.variations th { margin:0 0 10px; color:#333747; font-size:13px; font-weight:750; }
.jivo-product-page .summary table.variations td { margin:0 0 17px; }
.jivo-product-page .summary table.variations select { width:100%; min-height:45px; padding:9px 13px; border:1px solid var(--jp-line); border-radius:12px; background:#fff; }
.jivo-product-page .summary table.variations select.jivo-swatch-select { position:absolute !important; width:1px !important; height:1px !important; min-height:0; padding:0; clip:rect(0,0,0,0); clip-path:inset(50%); overflow:hidden; }
.jivo-variant-options { display:flex; flex-wrap:wrap; gap:9px; }
.jivo-variant-option { display:flex; align-items:center; gap:8px; min-height:43px; padding:8px 13px; border:1px solid #e1e4ed; border-radius:12px; background:#fff; color:#565c6e; font-size:13px; font-weight:650; line-height:1.25; cursor:pointer; transition:border-color .15s,background .15s; }
.jivo-variant-option:hover { border-color:#a7afff; }
.jivo-variant-option.is-selected { border-color:var(--jp-accent); background:var(--jp-soft); color:#4652dc; box-shadow:0 0 0 2px #5965ee12; }
.jivo-variant-option.is-unavailable { color:#9296a4; background:#f8f9fb; }
.jivo-variant-option.is-unavailable .jivo-variant-label { text-decoration:line-through; }
.jivo-variant-option:disabled { cursor:not-allowed; opacity:.55; }
.jivo-variant-dot { width:19px; height:19px; flex-shrink:0; border:1px solid #00000014; border-radius:50%; background:var(--variant-color); box-shadow:inset 0 0 0 2px #ffffff36; }
.jivo-product-page .summary .reset_variations { display:inline-block; margin-top:9px; color:#7d8293; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.jivo-product-page .summary .single_variation { border:0; margin:0 0 13px; padding:0; }
.jivo-product-page .summary .woocommerce-variation-price { display:none; }
.jivo-product-page .summary .stock { display:inline-block; margin:0 0 12px; padding:5px 10px; border-radius:8px; background:#f0f7f2; color:#347653; font-size:12px; font-weight:650; line-height:1.5; }
.jivo-product-page .summary .stock.out-of-stock { background:#fff3f0; color:#b4624e; }
.jivo-product-page .summary .woocommerce-variation-add-to-cart,.jivo-product-page .summary form.cart:not(.variations_form):not(.grouped_form) { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.jivo-product-page .summary .quantity { display:flex; align-items:center; justify-content:center; flex:0 0 106px; width:106px; height:48px; float:none; margin:0; padding:0; border:1px solid var(--jp-line); border-radius:13px; background:#f7f8fc; }
.jivo-product-page .summary .quantity .nm-qty-minus,.jivo-product-page .summary .quantity .nm-qty-plus { width:30px; min-width:30px; height:46px; display:grid; place-items:center; padding:0; font-size:13px; color:#757c90; }
.jivo-product-page .summary .quantity input.qty { width:36px; min-width:0; height:46px; border:0; padding:0; background:transparent; color:#303647; font-size:14px; font-weight:650; text-align:center; }
.jivo-product-page .summary .single_add_to_cart_button,.jivo-product-page .jivo-buy-now { display:flex; align-items:center; justify-content:center; flex:1 1 140px; width:auto; min-height:48px; float:none; margin:0; padding:12px 15px; border:0; border-radius:13px; background:var(--jp-accent); color:#fff; font-size:14px; font-weight:750; line-height:1.4; cursor:pointer; box-shadow:0 7px 20px #5965ee25; }
.jivo-product-page .jivo-buy-now { flex:0 0 100%; border:1px solid #e0e4ff; background:var(--jp-soft); color:#4b57db; box-shadow:none; }
.jivo-product-page .summary .single_add_to_cart_button.disabled,.jivo-product-page .summary .single_add_to_cart_button:disabled,.jivo-product-page .jivo-buy-now:disabled { background:#eceef4; color:#9da2b2; box-shadow:none; cursor:not-allowed; }
.jivo-product-page .summary [id^="yith-par-message"],.jivo-product-page .summary .yith-par-message { margin:14px 0 18px !important; padding:13px 14px !important; border:1px solid #eee2c8; border-radius:13px; background:#fffaf0 !important; color:#7a6240 !important; font-size:12px !important; line-height:1.5 !important; }
.jivo-product-page .jivo-product-rewards { display:flex; align-items:center; gap:10px; }
.jivo-product-rewards-source { display:none !important; }
.jivo-product-rewards-copy { display:block; min-width:0; color:#5e5546; font-size:12px; font-weight:650; overflow-wrap:anywhere; }
.jivo-product-rewards::before { content:""; flex:0 0 20px; width:20px; height:16px; border:2px solid #bd9346; border-radius:50%; box-shadow:0 4px 0 -1px #bd9346,0 8px 0 -1px #bd9346; transform:translateY(-3px); }
.jivo-product-services { margin-top:21px; border-top:1px solid var(--jp-line); }
.jivo-product-services details { border-bottom:1px solid var(--jp-line); }
.jivo-product-services summary { display:flex; align-items:center; gap:12px; padding:16px 0; list-style:none; cursor:pointer; }
.jivo-product-services summary::-webkit-details-marker { display:none; }
.jivo-product-services summary > svg { width:23px; height:23px; flex-shrink:0; fill:none; stroke:var(--jp-accent); stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.jivo-product-services summary > span { flex:1; min-width:0; }
.jivo-product-services summary b,.jivo-product-services summary small { display:block; }
.jivo-product-services summary b { color:#323747; font-size:13px; font-weight:750; }
.jivo-product-services summary small { margin-top:3px; color:#858b9a; font-size:11px; line-height:1.45; }
.jivo-product-services summary i { width:7px; height:7px; margin:0 4px 0 10px; border-right:1.7px solid #8e94a5; border-bottom:1.7px solid #8e94a5; transform:rotate(45deg); }
.jivo-product-services details[open] summary i { transform:rotate(225deg); }
.jivo-product-service-content { padding:0 0 17px 35px; color:#73798a; font-size:12px; line-height:1.65; }
.jivo-product-service-content p { margin:0 0 9px; }
.jivo-product-service-content > a { display:inline-block; margin-right:15px; color:#5360dd; text-decoration:underline; text-underline-offset:3px; }
.jivo-product-offers { display:grid; gap:9px; margin:12px 0; }
.jivo-product-offer { display:grid; grid-template-columns:29px minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:13px 12px; border:1px solid #e2e5fb; border-radius:13px; background:linear-gradient(125deg,#fff,#f5f6ff); text-align:left; cursor:pointer; }
.jivo-product-offer svg { width:23px; height:23px; fill:none; stroke:#6671ea; stroke-width:1.6; }
.jivo-product-offer b,.jivo-product-offer small { display:block; }
.jivo-product-offer b { color:#353b50; font-size:12px; line-height:1.4; }
.jivo-product-offer small { margin-top:5px; color:#82889b; font-size:10px; overflow-wrap:anywhere; }
.jivo-product-offer > strong { color:#5865e5; font-size:11px; }
.jivo-product-offer:disabled { opacity:.55; cursor:wait; }
.jivo-product-coupon-form { display:flex; gap:8px; margin-top:12px; }
.jivo-product-coupon-form input { min-width:0; width:100%; flex:1; min-height:43px; padding:9px 11px; border:1px solid #dde1ed; border-radius:11px; background:#fff; font-size:12px; }
.jivo-product-coupon-form button { flex:0 0 66px; border:0; border-radius:11px; background:var(--jp-accent); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.jivo-product-coupon-feedback { margin:10px 0 0 !important; color:#347653; }
.jivo-product-coupon-feedback.is-error { color:#b65b54; }
.jivo-product-page .jivo-product-information { max-width:1240px; margin:0 auto; padding:0 28px; }
.jivo-product-page .woocommerce-tabs { margin:0 0 40px; border-top:1px solid var(--jp-line); }
.jivo-product-page .woocommerce-tabs .tabs { display:flex; gap:26px; margin:0 0 27px; padding:0; border-bottom:1px solid var(--jp-line); overflow:auto; white-space:nowrap; }
.jivo-product-page .woocommerce-tabs .tabs li { display:block; flex-shrink:0; float:none; margin:0; padding:0; }
.jivo-product-page .woocommerce-tabs .tabs li a { display:block; padding:19px 0 15px; border-bottom:2px solid transparent; color:#83899b; font-size:14px; font-weight:650; }
.jivo-product-page .woocommerce-tabs .tabs li.active a { border-color:var(--jp-accent); color:#4b57d7; }
.jivo-product-page .woocommerce-tabs .panel { max-width:960px; width:100%; margin:0 auto; padding:0; color:#666d7e; font-size:14px; line-height:1.8; }
.jivo-product-page .woocommerce-tabs .panel img { max-width:100%; height:auto; border-radius:16px; }
.jivo-product-page .woocommerce-tabs .panel h2,.jivo-product-page .woocommerce-tabs .panel h3 { margin:24px 0 12px; color:#2e3447; font-size:22px; font-weight:750; line-height:1.35; }
.jivo-product-page .woocommerce-product-attributes { width:100%; border:1px solid var(--jp-line); border-radius:14px; border-collapse:separate; border-spacing:0; overflow:hidden; }
.jivo-product-page .woocommerce-product-attributes th,.jivo-product-page .woocommerce-product-attributes td { padding:13px 17px; border-bottom:1px solid var(--jp-line); font-size:13px; }
.jivo-product-page .woocommerce-product-attributes th { width:35%; background:#f8f9fc; color:#50586b; text-align:left; }
.jivo-product-page .woocommerce-product-attributes td p { margin:0; }
.jivo-product-page .woocommerce-product-attributes tr:last-child th,.jivo-product-page .woocommerce-product-attributes tr:last-child td { border-bottom:0; }
.jivo-product-page .related,.jivo-product-page .up-sells { margin:36px 0 0; padding:25px 0 0; border-top:1px solid var(--jp-line); }
.jivo-product-page .related > h2,.jivo-product-page .up-sells > h2 { color:#2e3447; font-size:22px; font-weight:750; }
.jivo-product-page .woocommerce-error,.jivo-product-page .woocommerce-message { padding:14px 18px; border-radius:13px; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.jivo-product-purchase-bar { display:none; }
.jivo-product-page :is(button,a,input,select):focus-visible { outline:2px solid #7480f6; outline-offset:3px; }
@media(max-width:900px) {
 .jivo-product-page .nm-single-product-summary-col.jivo-product-showcase { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .jivo-product-page .summary .product_title { font-size:25px; }
}
@media(max-width:767px) {
 .jivo-product-page .jivo-mobile-dock { display:none !important; }
 .jivo-product-page .jivo-single-product { padding-bottom:95px; }
 .jivo-product-page .jivo-product-breadcrumb { padding:13px 18px; }
 .jivo-product-page .woocommerce-breadcrumb { font-size:10px; }
 .jivo-product-page .nm-single-product-summary-row.nm-row { padding:0; }
 .jivo-product-page .nm-single-product-summary-col.jivo-product-showcase { display:block; }
 .jivo-product-page .jivo-product-gallery { border-radius:0; }
 .jivo-product-page .woocommerce-product-gallery__wrapper,.jivo-product-page .woocommerce-product-gallery .flex-viewport { border-radius:0; }
 .jivo-product-page .woocommerce-product-gallery .flex-control-thumbs { gap:8px; margin-top:11px; padding:0 18px; }
 .jivo-product-page .woocommerce-product-gallery .flex-control-thumbs li { width:43px; }
 .jivo-product-page .jivo-product-showcase > .summary { position:static; width:auto !important; margin:0; padding:23px 18px 0; }
 .jivo-product-page .summary .product_title { margin-bottom:9px; font-size:25px; line-height:1.25; }
 .jivo-product-page .summary > .price { margin-bottom:13px; font-size:25px; }
 .jivo-product-page .summary .woocommerce-product-details__short-description { margin-bottom:19px; font-size:13px; line-height:1.65; }
 .jivo-product-page .nm-single-product-bg { padding-bottom:28px; }
 .jivo-product-page .jivo-product-information { padding:0 18px; }
 .jivo-product-page .woocommerce-tabs .tabs { gap:22px; margin-bottom:21px; }
 .jivo-product-page .woocommerce-tabs .tabs li a { font-size:13px; padding-top:16px; }
 .jivo-product-page .woocommerce-tabs .panel { font-size:13px; }
 .jivo-product-page .woocommerce-tabs .panel h2,.jivo-product-page .woocommerce-tabs .panel h3 { font-size:20px; }
 .jivo-product-page .jivo-product-purchase-bar { position:fixed; z-index:1002; right:0; bottom:0; left:0; display:flex; align-items:center; gap:8px; padding:11px 14px calc(11px + env(safe-area-inset-bottom)); border-top:1px solid #e8eaf4; background:rgba(255,255,255,.97); box-shadow:0 -8px 35px #28304a0c; transform:translateY(110%); transition:transform .2s ease; }
 .jivo-product-purchase-bar.is-visible { transform:translateY(0); }
 .jivo-product-bar-price { min-width:0; flex:1 1 95px; }
 .jivo-product-bar-price small { display:block; margin-bottom:3px; color:#9499a9; font-size:10px; }
 .jivo-product-bar-price strong { display:block; color:#252c3e; font-size:13px; font-weight:800; line-height:1.4; }
 .jivo-product-bar-price del { display:none; }
 .jivo-product-bar-price ins { text-decoration:none; }
 .jivo-product-bar-add,.jivo-product-bar-buy { flex:1 1 100px; min-height:46px; padding:9px; border:0; border-radius:12px; background:var(--jp-soft); color:#4b57d7; font-size:12px; font-weight:750; cursor:pointer; }
 .jivo-product-bar-buy { background:var(--jp-accent); color:#fff; }
 .jivo-product-bar-add:disabled,.jivo-product-bar-buy:disabled { background:#eceef4; color:#9da3b4; cursor:not-allowed; }
 .jivo-product-page.cart-panel-open .jivo-product-purchase-bar,.jivo-product-page.header-search-open .jivo-product-purchase-bar,.jivo-product-page.mobile-menu-open .jivo-product-purchase-bar { transform:translateY(110%); }
 .jivo-product-page .jivo-cart-toast { bottom:88px; }
 .jivo-product-page .related ul.products,.jivo-product-page .up-sells ul.products { display:flex; flex-wrap:nowrap; gap:13px; overflow:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }
 .jivo-product-page .related ul.products > li,.jivo-product-page .up-sells ul.products > li { flex:0 0 46%; width:46% !important; margin:0 !important; padding:0 !important; scroll-snap-align:start; }
}
@media(prefers-reduced-motion:reduce) { .jivo-product-purchase-bar,.jivo-variant-option { transition:none !important; } }

.jivo-product-page .nm-single-product-showcase { padding:0; }
.jivo-product-page .summary .nm-quantity-wrap { flex:0 0 106px; float:none; width:106px; margin:0; padding:0; border:0; }
.jivo-product-page .summary .nm-quantity-wrap > label { display:none !important; }
.jivo-product-page .summary .single_variation_wrap { display:block !important; width:100%; }
.jivo-product-page .summary .single_variation_wrap .nm-quantity-wrap { padding-right:0; }
.jivo-product-page .summary .nm-quantity-wrap.nm-is-readonly { display:none; }
.jivo-product-page .summary .variations_button > [id^="yith-par-message"] { flex:0 0 100%; box-sizing:border-box; }

/* Raw replacement messages stay concealed until the compact points copy is ready. */
.jivo-product-page .summary [id^="yith-par-message"],.jivo-product-page .summary .yith-par-message { visibility:hidden; font-size:0 !important; }
.jivo-product-page .summary .jivo-product-rewards { visibility:visible; }
.jivo-product-page .summary [id^="yith-par-message"] > :not(.jivo-product-rewards-copy),.jivo-product-page .summary .yith-par-message > :not(.jivo-product-rewards-copy) { display:none !important; }
.jivo-product-page .jivo-product-rewards-copy { font-size:12px !important; }
.jivo-product-page #reviews #comments ol.commentlist { padding:0; list-style:none; }
.jivo-product-page #reviews #comments ol.commentlist > li { margin:0 0 14px; padding:18px; border:1px solid var(--jp-line); border-radius:16px; background:#fff; }
.jivo-product-page #reviews .comment-text { border:0; padding:0; }
.jivo-product-page #reviews .meta { color:#7c8498; font-size:12px; }
.jivo-product-page #reviews .description { color:#586176; font-size:13px; }
.jivo-product-page #review_form_wrapper { padding:22px; border:1px solid var(--jp-line); border-radius:17px; background:#fafbff; }
.jivo-product-page #review_form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.jivo-product-page #review_form textarea { max-width:100%; padding:11px 14px; border:1px solid #dfe3ee; border-radius:11px; background:#fff; font-size:13px; }
.jivo-product-page #review_form #submit { padding:12px 24px; border:0; border-radius:12px; background:var(--jp-accent); color:#fff; font-weight:700; }
@media(max-width:767px) { body.jivo-product-page.jivo-cart-drawer-v1 { padding-bottom:0; } }

.jivo-product-purchase-bar [hidden] { display:none !important; }
.jivo-product-page:has(.pswp--open) .jivo-product-purchase-bar { transform:translateY(110%); }
