/* Isolated selectors keep the existing Character Search sharing untouched. */
.stp-ss { position:relative; display:inline-block; max-width:100%; vertical-align:middle; font:400 15px/1.3 Arial,sans-serif; text-align:left; }
.stp-ss-product { margin:0 0 0 10px; }
.stp-ss .stp-ss-disclosure { display:block; padding:0; margin:0; border:0; background:transparent; }
.stp-ss .stp-ss-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; box-sizing:border-box; padding:9px 15px; min-height:42px; max-width:100%; border:1px solid #328447; border-radius:24px; background:#fff; color:#287337; cursor:pointer; font:600 14px/1.3 Arial,sans-serif; text-transform:none; letter-spacing:normal; list-style:none; }
.stp-ss .stp-ss-toggle::-webkit-details-marker { display:none; }
.stp-ss .stp-ss-toggle::marker { content:''; }
.stp-ss .stp-ss-toggle::after { content:none; }
.stp-ss .stp-ss-toggle:hover { background:#f1f8f2; color:#287337; }
.stp-ss-toggle svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.stp-ss .stp-ss-options { position:absolute; left:0; top:calc(100% + 6px); z-index:100; box-sizing:border-box; width:300px; max-width:calc(100vw - 32px); padding:8px; background:#fff; border:1px solid #cbd9df; border-radius:12px; box-shadow:0 5px 20px #123f6033; max-height:70vh; overflow-y:auto; }
.stp-ss-product .stp-ss-options { left:auto; right:0; }
.stp-ss .stp-ss-item { display:flex; align-items:center; gap:12px; box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; margin:0; text-align:left; border:0; border-radius:6px; background:#fff; color:#123f60; font:400 15px/1.3 Arial,sans-serif; text-decoration:none; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:none; }
.stp-ss .stp-ss-item:hover,.stp-ss .stp-ss-item:focus-visible { background:#eaf6fb; color:#123f60; }
.stp-ss .stp-ss-platform-icon { display:block; width:24px; height:24px; flex:0 0 24px; }
.stp-ss :focus-visible { outline:2px solid #087be0; outline-offset:2px; }
.stp-ss [hidden] { display:none !important; }
.stp-ss-status { display:block; font:400 13px/1.4 Arial,sans-serif; color:#287337; padding:0 12px; }
.stp-ss-status:empty { display:none; }
.stp-ss-fallback { display:block; padding:8px 12px; color:#123f60; font:400 13px/1.4 Arial,sans-serif; }
.stp-ss .stp-ss-fallback input { width:100%; box-sizing:border-box; margin:5px 0 0; background:#fff; color:#123f60; border:1px solid #cbd9df; padding:8px; font-size:16px; }
.stp-ss-post { clear:both; margin-top:28px; padding-top:22px; border-top:1px solid #e3e9ec; }
/* Only the existing quantity/button/share controls are grouped. Other form fields stay in place. */
.woocommerce div.product form.cart .stp-ss-purchase-row { display:flex; flex-wrap:wrap; align-items:center; gap:10px; width:100%; }
.woocommerce div.product form.cart .stp-ss-purchase-row > .quantity,
.woocommerce div.product form.cart .stp-ss-purchase-row > .single_add_to_cart_button { float:none; margin:0; flex:0 0 auto; }
.woocommerce div.product form.cart .stp-ss-purchase-row > .stp-ss { margin:0; flex:0 1 auto; }
.woocommerce div.product form.cart .stp-ss-purchase-row > .stp-ss .stp-ss-toggle { min-height:42px; }
