.rsh-single-product { padding: 18px 0 64px; }
.single-product div.product { display: block; min-width: 0; }
.single-product .product-primary,.single-product .rs-product-builder { display:grid; min-width:0; grid-template-columns:minmax(320px,.7fr) minmax(520px,1fr); gap:24px; align-items:start; }
.single-product .product-primary__gallery { width:100%; max-width:560px; min-width:0; justify-self:stretch; }
.rs-product-preview,.rsh-config-preview,.rsh-product-gallery { position:relative; width:100%; min-width:0; }
.rs-product-preview__media,.rsh-config-preview { display:grid; width:100%; max-height:560px; aspect-ratio:1 / 1; overflow:hidden; place-items:center; background:var(--rsh-surface-soft); }
.rsh-config-preview,.rsh-product-gallery { border:1px solid var(--rsh-border); border-radius:var(--rsh-radius-large); background:var(--rsh-surface); box-shadow:var(--rsh-shadow-soft); }
.rsh-config-preview { background:var(--rsh-surface-soft); }
.rsh-product-gallery__stage { border-radius:calc(var(--rsh-radius-large) - 1px); }
.rsh-config-preview__image,.rs-product-preview__media img,.rsh-config-preview > .rsh-image-missing,.rsh-config-preview > .rsh-brand-image-fallback,.rs-product-preview__media > .rsh-brand-image-fallback { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; transform:none !important; scale:none !important; border:0; }
.rsh-config-preview > .rsh-brand-image-fallback,.rs-product-preview__media > .rsh-brand-image-fallback { display:grid; }
.rsh-config-preview__caption { position:absolute; z-index:2; bottom:14px; left:50%; max-width:calc(100% - 28px); padding:7px 10px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.92); color:var(--rsh-green-dark); font-size:.72rem; font-weight:750; text-align:center; text-overflow:ellipsis; white-space:nowrap; box-shadow:0 3px 14px rgba(0,18,41,.08); transform:translateX(-50%); }
body.rsc-modal-open .rsh-config-preview__caption { opacity:0; visibility:hidden; }
.rsh-product-gallery__thumbs { display:grid; margin:10px; padding:0; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; list-style:none; }
.rsh-product-gallery__thumbs li { min-width:0; margin:0; aspect-ratio:1; }
.rsh-product-gallery__thumb { display:block; width:100%; height:100%; min-width:0; aspect-ratio:1; overflow:hidden; border:1px solid var(--rsh-border); border-radius:10px; background:var(--rsh-surface-soft); padding:0; object-fit:cover; transform:none !important; scale:none !important; cursor:pointer; }
.rsh-product-gallery__thumb:hover,.rsh-product-gallery__thumb:focus-visible { border-color:var(--rsh-green); outline:2px solid rgba(0,102,215,.16); outline-offset:1px; }
.rsh-product-gallery--single .rsh-product-gallery__thumbs,.rsh-product-gallery--single .woocommerce-product-gallery__trigger,.rsh-product-gallery--single .flex-control-thumbs { display:none !important; }
.single-product .product-details { position: relative; z-index: 2; margin-top: 48px; padding-top: 1px; background: var(--rsh-background); }
.single-product div.product::before, .single-product div.product::after { display: none; }
.single-product div.product .summary { position:static; width:100% !important; max-width:650px; min-width:0; margin:0 !important; padding:16px; overflow:visible; float:none !important; justify-self:end; border:1px solid var(--rsh-border); border-radius:var(--rsh-radius-large); background:var(--rsh-surface); box-shadow:var(--rsh-shadow-card); }
.single-product .summary .product_title { margin:6px 0 10px; font-size:clamp(2rem,3vw,2.625rem); }
.rshop-badge { display: inline-flex; margin: 0; border-radius: 99px; background: var(--rsh-green-light); color: var(--rsh-green-dark); padding: 6px 10px; font-size: .72rem; font-weight: 800; letter-spacing: .02em; }
.single-product .summary .price { display: block; margin: 0 0 14px; color: var(--rsh-green-dark); font-size: 1.45rem; font-weight: 850; }
.single-product .woocommerce-product-details__short-description { color: var(--rsh-text-muted); }
.rsh-product-benefits { display: grid; margin: 16px 0; padding: 14px 0; border-block: 1px solid var(--rsh-border); grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; }
.rsh-product-benefits li { display: flex; align-items: flex-start; gap: 7px; font-size: .78rem; font-weight: 700; line-height: 1.45; }
.rsh-product-benefits svg { width: 18px; min-width: 18px; height: 18px; fill: none; stroke: var(--rsh-success); stroke-width: 2; }
.single-product .summary form.cart { display: block; margin: 22px 0 0; }
.single-product .summary form.cart::after { display: table; clear: both; content: ""; }
.single-product .summary .quantity { float: left; margin-right: 10px; }
.single-product .summary .quantity input { width: 76px; min-height: 48px; border: 1px solid var(--rsh-border); border-radius: 10px; text-align: center; }
.single-product .summary .single_add_to_cart_button { min-height: 50px; }
.rsh-delivery-note { display: flex; margin-top: 18px; padding: 14px; align-items: center; gap: 12px; border: 1px solid var(--rsh-border); border-radius: 12px; background: var(--rsh-surface-soft); }
.rsh-delivery-note svg { width: 27px; min-width: 27px; height: 27px; fill: none; stroke: var(--rsh-green); stroke-width: 1.5; }
.rsh-delivery-note span { display: grid; }
.rsh-delivery-note small { color: var(--rsh-text-muted); }
.single-product .product_meta { margin-top: 20px; color: var(--rsh-text-muted); font-size: .83rem; }
.single-product .woocommerce-tabs, .single-product .related, .single-product .upsells { width: 100%; margin-top: 48px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; margin: 0; padding: 0 0 12px !important; overflow-x: auto; border-bottom: 1px solid var(--rsh-border); gap: 8px; list-style: none; }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 10px 14px !important; border-radius: 8px; color: var(--rsh-text-muted); text-decoration: none; white-space: nowrap; }
.single-product .woocommerce-tabs ul.tabs li.active a { background: var(--rsh-green-light); color: var(--rsh-green-dark); }
.single-product .woocommerce-Tabs-panel { max-width: 920px; padding: 30px 0 0; }
.single-product .related > h2, .single-product .upsells > h2 { margin-bottom:24px; font-size:clamp(1.6875rem,2.5vw,2rem); }
.rsh-product-resources { display:flex; margin-top:32px; padding:18px 20px; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--rsh-border); border-radius:var(--rsh-radius-card); background:var(--rsh-surface); }
.rsh-product-resources h2 { margin:0; font-size:1.18rem; }
.rsh-product-resources > div { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:14px; }
.rsh-product-resources .rsh-text-link { white-space:nowrap; }
@media (min-width:1024px) { .single-product div.product .summary { position:sticky; top:var(--rs-sticky-offset,126px); align-self:start; } .admin-bar.single-product div.product .summary { top:calc(var(--rs-sticky-offset,126px) + 32px); } }
@media (max-width:1023px) { .single-product .product-primary,.single-product .rs-product-builder { grid-template-columns:1fr; } .single-product .product-primary__gallery { max-width:580px; justify-self:center; } .single-product div.product .summary { position:static; max-width:680px; overflow:visible; justify-self:center; } }
@media (max-width:560px) { .rsh-single-product { padding-top:12px; } .single-product .product-primary__gallery { max-width:none; } .rsh-product-gallery__thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); } .single-product div.product .summary { padding:16px; border-radius:16px; } .rsh-product-benefits { grid-template-columns:1fr; } .rsh-product-resources { align-items:flex-start; flex-direction:column; } .rsh-product-resources > div { width:100%; align-items:stretch; flex-direction:column; } .rsh-product-resources .rsh-button { width:100%; } }
