/* Site 01 only: additive layout, preserving the existing theme and controls. */
body.single-product.starline-site01 { background:#f4f8f9; }
body.starline-site01.single-product div.product { display:grid!important; display:grid!important; column-gap:22px!important; row-gap:24px!important; }
body.starline-site01.single-product div.product > .summary { display:grid!important; grid-template-columns:minmax(0,1fr); gap:12px!important; position:relative!important; top:auto!important; border-radius:24px!important; box-shadow:0 10px 30px #16384c08; }
body.starline-site01 .sl01-product-heading, body.starline-site01 .sl01-product-details { min-width:0; }
body.starline-site01.single-product div.product .product_title { margin-bottom:8px!important; }
body.starline-site01 .starline-product-code { margin-bottom:8px!important; }
body.starline-site01 .starline-single-price-box { margin:4px 0 0!important; padding-bottom:0!important; border-bottom:0!important; gap:6px 10px!important; }
body.starline-site01 .starline-sale-price-row { order:-1; }
body.starline-site01 .sl01-purchase { min-width:0; padding:18px; border:1px solid #d7e9ee; border-radius:22px; background:linear-gradient(145deg,#f0f9fb,#fff 80%); align-self:start; box-shadow:0 8px 24px #12586a08; }
body.starline-site01 .sl01-purchase > h2 { margin:0 0 12px; color:#648394; font-size:12px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; }
body.starline-site01 .sl01-purchase .stock { margin:0 0 8px!important; }
body.starline-site01 .sl01-purchase form.cart { margin:0!important; gap:8px!important; }
body.starline-site01 .sl01-purchase form.cart .quantity { margin:0 0 2px!important; }
body.starline-site01 .sl01-purchase form.cart .button { border-radius:10px!important; min-height:44px!important; }
body.starline-site01 .sl01-purchase .variations { margin-bottom:8px!important; width:100%; }
body.starline-site01 .sl01-purchase .variations select { max-width:100%; }
body.starline-site01 .sl01-purchase .group_table { width:100%; }
body.starline-site01 .sl01-purchase .group_table .quantity { width:auto!important; }
body.starline-site01 .starline-short-details-title { margin-top:4px!important; }
body.starline-site01 .woocommerce-product-details__short-description { margin-bottom:12px!important; }
body.starline-site01 .starline-product-support { margin-top:10px!important; }
body.starline-site01 .starline-product-support .starline-support-copy { flex-wrap:wrap!important; white-space:normal!important; }
body.starline-site01 .starline-product-support .starline-support-whatsapp { white-space:normal!important; overflow-wrap:anywhere; }
body.starline-site01.single-product div.product > .woocommerce-product-gallery { border-radius:24px!important; border-color:#e4edf0; }
body.starline-site01.single-product div.product > .woocommerce-tabs { border-radius:24px!important; }
/* Keep upsells separate from related products: the old shared area overlapped them. */
body.starline-site01.single-product div.product > .up-sells.products { grid-area:upsells!important; }
body.starline-site01.single-product div.product { grid-template-areas:"gallery summary" "tabs tabs" "related related" "upsells upsells"!important; }
@media(min-width:1200px) {
 body.starline-site01.single-product div.product { grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,.8fr)!important; grid-template-areas:"gallery summary summary" "tabs tabs related" "upsells upsells upsells"!important; }
 body.starline-site01.single-product div.product > .summary { grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); grid-template-areas:"heading purchase" "details purchase"; gap:14px 20px!important; padding:20px!important; }
 body.starline-site01 .sl01-product-heading { grid-area:heading; }
 body.starline-site01 .sl01-product-details { grid-area:details; }
 body.starline-site01 .sl01-purchase { grid-area:purchase; padding:16px; }
 body.starline-site01 .sl01-purchase form.cart > .button,
 body.starline-site01 .sl01-purchase .woocommerce-variation-add-to-cart > .button { width:100%!important; flex-basis:100%!important; }
 body.starline-site01 .starline-product-support { grid-template-columns:1fr!important; }
 body.starline-site01.single-product .related.products ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
 body.starline-site01.single-product .related.products ul.products li.product { width:100%!important; min-width:0!important; }
 body.starline-site01.single-product .related.products ul.products li.product img { height:145px!important; }
}
@media(max-width:767px) {
 body.starline-site01.single-product div.product { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"gallery" "summary" "tabs" "related" "upsells"!important; row-gap:14px!important; padding:0 10px!important; }
 body.starline-site01.single-product div.product > .summary { padding:16px!important; gap:10px!important; }
 body.starline-site01 .sl01-purchase { padding:14px; border-radius:18px; }
 body.starline-site01 .sl01-purchase > h2 { margin-bottom:8px; }
 body.starline-site01.single-product div.product .product_title { font-size:24px!important; }
 body.starline-site01 .starline-single-price-box { flex-wrap:wrap!important; }
}
/* 1.1.84: a shared product surface, matching the supplied reference. */
body.starline-site01.single-product div.product { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"hero" "tabs" "related" "upsells"!important; }
body.starline-site01 .sl01-hero { grid-area:hero; position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:20px; padding:24px; background:#fff; border:1px solid #edf1f5; border-radius:28px; min-width:0; }
body.starline-site01.single-product div.product .sl01-hero > .summary { display:grid!important; grid-template-columns:minmax(0,1fr); gap:12px!important; float:none!important; width:100%!important; margin:0!important; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; position:static!important; min-width:0; }
body.starline-site01.single-product div.product .sl01-hero > .woocommerce-product-gallery { border:0!important; padding:0!important; box-shadow:none!important; background:#f5f8f9!important; border-radius:22px!important; align-self:start; }
body.starline-site01.single-product .sl01-hero .woocommerce-product-gallery__image img:not(.zoomImg) { height:360px!important; max-height:360px!important; object-fit:contain!important; }
body.starline-site01 .sl01-badges { font-size:10px; letter-spacing:.5px; text-transform:uppercase; margin-bottom:12px; color:#167489; font-weight:700; }
body.starline-site01 .sl01-badges a { color:inherit; text-decoration:none; background:#e8f3f5; border-radius:12px; padding:3px 6px; line-height:2; }
body.starline-site01 .sl01-ready { margin:-5px 0 16px; font-size:13px; font-weight:700; color:#172335; }
body.starline-site01 .starline-single-price-box { display:flex!important; flex-wrap:wrap!important; align-items:center!important; }
body.starline-site01 .starline-price-label { display:none!important; }
body.starline-site01 .starline-sale-price { color:#167489!important; font-size:32px!important; line-height:1.2!important; }
body.starline-site01 .starline-regular-price { color:#94a3b8!important; font-size:14px!important; }
body.starline-site01 .sl01-subtotal { flex:0 0 100%; width:100%; margin:4px 0 10px; padding:12px 0; border-top:1px solid #e6eef3; }
body.starline-site01 .sl01-subtotal > span { display:block; font-size:11px; color:#64748b; margin-bottom:5px; }
body.starline-site01 .sl01-subtotal strong { font-size:24px; color:#142033; }
body.starline-site01 .sl01-subtotal del { font-size:13px; color:#94a3b8; }
body.starline-site01.single-product .sl01-purchase .starline-single-order-now { background:#167489!important; color:#fff!important; border:1px solid #167489!important; }
body.starline-site01.single-product .sl01-purchase .single_add_to_cart_button { background:#fff!important; color:#167489!important; border:1px solid #167489!important; }
body.starline-site01.single-product .sl01-purchase .button:hover { filter:brightness(.94); }
body.starline-site01 .sl01-read-toggle { display:block; padding:0; margin:8px 0 18px; border:0; background:none; color:#167489; font-weight:700; cursor:pointer; }
body.starline-site01 .sl01-collapsed { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
body.starline-site01.single-product .woocommerce-tabs ul.tabs { background:transparent!important; border-bottom:1px solid #edf2f6!important; padding:0!important; }
body.starline-site01.single-product .woocommerce-tabs ul.tabs li { background:transparent!important; border:0!important; border-radius:0!important; margin:0 18px 0 0!important; }
body.starline-site01.single-product .woocommerce-tabs ul.tabs li a { background:transparent!important; color:#64748b!important; padding:12px 0!important; }
body.starline-site01.single-product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid #167489!important; }
body.starline-site01.single-product .woocommerce-tabs ul.tabs li.active a { color:#167489!important; }
@media(min-width:1100px) {
 body.starline-site01.single-product div.product { grid-template-columns:minmax(0,2.8fr) minmax(0,1fr)!important; grid-template-areas:"hero hero" "tabs related" "upsells upsells"!important; }
 body.starline-site01 .sl01-hero { grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr); gap:26px; }
 body.starline-site01.single-product div.product .sl01-hero > .summary { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important; grid-template-areas:"heading purchase" "details purchase"; gap:16px 24px!important; align-content:start; }
 body.starline-site01 .sl01-product-heading { grid-area:heading; }
 body.starline-site01 .sl01-product-details { grid-area:details; }
 body.starline-site01 .sl01-purchase { grid-area:purchase; }
 body.starline-site01.single-product .sl01-purchase form.cart .button { width:100%!important; flex-basis:100%!important; }
 body.starline-site01.single-product .sl01-hero .woocommerce-product-gallery { padding-left:72px!important; background:transparent!important; }
 body.starline-site01.single-product .sl01-hero .flex-control-thumbs { position:absolute!important; top:30px; left:0; width:60px!important; display:grid!important; grid-template-columns:60px!important; gap:8px!important; max-height:330px; overflow-y:auto; }
 body.starline-site01.single-product .sl01-hero .flex-control-thumbs li { width:60px!important; margin:0!important; }
 body.starline-site01.single-product .sl01-hero .flex-control-thumbs img { width:58px!important; height:58px!important; object-fit:cover; }
 body.starline-site01.single-product .related.products ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 body.starline-site01 .starline-product-support { grid-template-columns:1fr!important; }
}
@media(max-width:1099px) {
 body.starline-site01 .sl01-product-heading,body.starline-site01 .sl01-product-details,body.starline-site01 .sl01-purchase { grid-area:auto!important; }
 body.starline-site01 .sl01-hero { padding:16px; }
}

@media(min-width:1100px){body.starline-site01.single-product div.product:not(:has(> .related.products)){grid-template-areas:"hero hero" "tabs tabs" "upsells upsells"!important;}}
body.starline-site01 .sl01-purchase form.cart > .quantity{order:0;}
body.starline-site01 .sl01-purchase form.cart > .sl01-subtotal{order:1;}
body.starline-site01 .sl01-purchase form.cart > .button{order:2;}

/* 1.1.85 — reference summary cleanup and accessible variant chips. */
body.starline-site01 .sl01-hero .starline-single-summary-attributes { border:0!important; border-top:1px solid #edf2f6!important; padding:16px 0 0!important; margin:18px 0!important; background:none!important; }
body.starline-site01 .sl01-hero .starline-summary-attribute-row { display:flex!important; flex-direction:column; align-items:flex-start; gap:9px; padding:0 0 12px!important; border:0!important; background:none!important; }
body.starline-site01 .sl01-hero .starline-summary-attribute-label { font-size:12px; font-weight:600; color:#243b53; }
body.starline-site01 .sl01-attribute-chip,
body.starline-site01 .sl01-purchase .sl01-variant-chip { display:inline-flex; align-items:center; justify-content:center; min-width:58px; min-height:40px; padding:8px 14px; border:1px solid #c9dce2; border-radius:11px; background:#fff; color:#23677a; font-size:13px; font-weight:600; line-height:1.3; box-shadow:none; white-space:normal; overflow-wrap:anywhere; }
body.starline-site01 .sl01-attribute-chip { border-color:#167489; background:#eaf5f7; }
body.starline-site01 .sl01-variant-chips { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 12px; }
body.starline-site01 .sl01-purchase .sl01-variant-chip { cursor:pointer; }
body.starline-site01 .sl01-purchase .sl01-variant-chip[aria-pressed="true"] { border-color:#167489; background:#eaf5f7; color:#125b6d; box-shadow:0 0 0 1px #167489; }
body.starline-site01 .sl01-purchase .sl01-variant-chip:disabled { opacity:.4; text-decoration:line-through; cursor:not-allowed; }
body.starline-site01 .sl01-variant-chip:focus-visible { outline:3px solid #167489; outline-offset:3px; }
body.starline-site01 .sl01-native-variant { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; clip-path:inset(50%)!important; overflow:hidden!important; }
body.starline-site01 .sl01-native-variant:focus-visible { position:static!important; width:100%!important; height:auto!important; clip-path:none!important; }
body.starline-site01 .sl01-purchase .variations th,
body.starline-site01 .sl01-purchase .variations td { display:block!important; width:100%!important; padding:0!important; border:0!important; background:none!important; text-align:left; }
body.starline-site01 .sl01-purchase .variations label { font-size:12px; font-weight:600; color:#243b53; }
body.starline-site01 .sl01-purchase .reset_variations { font-size:12px; color:#167489; }

/* 1.1.86: real quantity controls, replacing the legacy decorative minus. */
body.starline-site01 .sl01-hero .quantity::before,
body.starline-site01 .sl01-hero .quantity::after { display:none!important; content:none!important; }
body.starline-site01.single-product .sl01-purchase form.cart .quantity.sl01-quantity { display:inline-flex!important; align-items:center!important; flex:0 0 auto!important; width:auto!important; max-width:100%; padding:0!important; margin:0 0 6px!important; border:1px solid #d8e5ed!important; border-radius:12px!important; overflow:hidden; background:#fff; box-shadow:0 2px 4px #1420330a; }
body.starline-site01.single-product .sl01-purchase .sl01-quantity input.qty { appearance:textfield; -moz-appearance:textfield; width:54px!important; min-width:0!important; height:44px!important; margin:0!important; padding:0 4px!important; border:0!important; border-radius:0!important; background:#fff!important; color:#142033; font-size:15px!important; font-weight:600; text-align:center; box-shadow:none!important; }
body.starline-site01 .sl01-quantity input::-webkit-inner-spin-button,
body.starline-site01 .sl01-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
body.starline-site01 .sl01-purchase .sl01-qty-step { display:inline-flex!important; align-items:center; justify-content:center; width:44px!important; height:44px!important; min-width:44px!important; padding:0!important; border:0!important; border-radius:0!important; background:#fff!important; color:#167489!important; font-size:22px!important; line-height:1; cursor:pointer; }
body.starline-site01 .sl01-purchase .sl01-qty-step:hover:not(:disabled) { background:#edf7f9!important; }
body.starline-site01 .sl01-purchase .sl01-qty-step:disabled { color:#c1ccd4!important; cursor:not-allowed; }
body.starline-site01 .sl01-purchase .sl01-qty-step:focus-visible { outline:2px solid #167489; outline-offset:-3px; }
body.starline-site01 .sl01-attribute-group { border-top:1px solid #edf2f6; padding:16px 0; }
body.starline-site01 .sl01-attribute-label { display:block; margin-bottom:10px; font-size:13px; font-weight:600; color:#243b53; }
body.starline-site01 .sl01-attribute-values { display:flex; flex-wrap:wrap; gap:8px; }
/* 1.1.87 reference details */
body.starline-site01 .sl01-order-column { min-width:0; align-self:start; }
body.starline-site01 .sl01-purchase { position:relative; }
body.starline-site01 .sl01-purchase > h2,body.starline-site01 .sl01-ready { padding-right:44px; }
body.starline-site01 .sl01-order-icon { position:absolute; right:20px; top:24px; width:42px; height:42px; display:grid; place-items:center; color:#fff; background:#167489; border-radius:14px; box-shadow:0 5px 12px #16748924; }
body.starline-site01 .sl01-checkout-note { display:flex; align-items:center; justify-content:center; gap:7px; margin:17px 0 0; color:#61758d; font-size:10px; line-height:1.6; text-align:center; }
body.starline-site01 .sl01-checkout-note svg { flex-shrink:0; width:14px; height:14px; color:#167489; }
body.starline-site01 .sl01-service-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:24px; padding:13px 4px; border:1px solid #dce6ee; border-radius:16px; background:#fff; }
body.starline-site01 .sl01-service-strip > span { display:flex; align-items:center; flex-direction:column; gap:6px; padding:0 3px; color:#167489; }
body.starline-site01 .sl01-service-strip > span+span { border-left:1px solid #dce6ee; }
body.starline-site01 .sl01-service-strip small { font-size:10px; color:#526783; text-align:center; }
body.starline-site01 .sl01-subtotal { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:5px; }
body.starline-site01 .sl01-subtotal > span { grid-column:1/-1; }
body.starline-site01 .sl01-availability { color:#008363; font-size:11px; padding-bottom:3px; }
body.starline-site01 .sl01-savings { display:inline-flex; padding:5px 9px; border-radius:9px; background:#fffae8; color:#ba5500; font-size:12px; font-weight:600; }
body.starline-site01 .sl01-view-count { display:flex; align-items:center; gap:5px; color:#75849b; font-size:12px; margin:10px 0; }
body.starline-site01 .sl01-view-count svg { width:16px; height:16px; }
@media(min-width:1100px){body.starline-site01 .sl01-order-column { grid-area:purchase; }}

/* Let WooCommerce's zoom plugin control its full-resolution overlay dimensions. */
body.starline-site01.single-product .sl01-hero .woocommerce-product-gallery__image img.zoomImg { max-width:none!important; max-height:none!important; object-fit:fill!important; border:0!important; border-radius:0!important; padding:0!important; pointer-events:none; }
@media(hover:hover) and (pointer:fine){body.starline-site01 .woocommerce-product-gallery__image { cursor:zoom-in; }}

/* 1.1.89: native PhotoSwipe stays above sticky headers and floating widgets. */
body.starline-site01 .pswp { position:fixed!important; inset:0!important; width:100%!important; height:100%!important; z-index:2147483000!important; }
body.starline-site01 .pswp .pswp__top-bar { top:0!important; height:56px!important; background:rgba(0,0,0,.35)!important; }
body.starline-site01 .pswp .pswp__button--close { position:absolute!important; top:6px!important; right:8px!important; display:block!important; width:44px!important; height:44px!important; min-width:44px!important; margin:0!important; padding:0!important; border:1px solid rgba(255,255,255,.55)!important; border-radius:50%!important; background:rgba(0,0,0,.55)!important; opacity:1!important; color:white!important; box-shadow:none!important; cursor:pointer; }
body.starline-site01 .pswp .pswp__button--close::before { content:'×'; display:block; color:white; font-family:Arial,sans-serif; font-size:32px; font-weight:400; line-height:40px; text-align:center; }
body.starline-site01 .pswp .pswp__button--close:focus-visible { outline:3px solid white!important; outline-offset:2px; }
