/* One responsive specification system; loaded after Porto's styles. */
body.single-product {
 --st-ink:#253543; --st-muted:#52626b; --st-blue:#087a9f;
 --st-accent:#23ace3; --st-orange:#f8931d; --st-line:#dce7ed;
}
body.single-product .st-key-specifications {
 box-sizing:border-box; min-width:0; width:100%; margin:24px 0;
 padding:20px; border:1px solid var(--st-line); border-radius:12px; background:#f5fafc;
}
body.single-product .st-key-specifications h2 {
 margin:0 0 18px; color:var(--st-ink); font-size:18px; font-weight:700; line-height:1.4;
}
body.single-product .st-key-specifications ul {
 display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 24px;
 margin:0; padding:0; list-style:none;
}
body.single-product .st-key-specifications li { display:flex; align-items:flex-start; min-width:0; gap:10px; }
body.single-product .st-spec-icon {
 display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px;
 border-radius:8px; color:var(--st-blue); background:#e5f5fc;
}
body.single-product .st-spec-icon svg,
body.single-product .st-spec-label svg {
 width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8;
 stroke-linecap:round; stroke-linejoin:round; flex:0 0 18px;
}
body.single-product .st-spec-value { min-width:0; flex:1; }
body.single-product .st-key-specifications small,
body.single-product .st-key-specifications strong {
 display:block; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere;
}
body.single-product .st-key-specifications small { color:var(--st-muted); font-size:12px; line-height:1.45; margin-bottom:3px; }
body.single-product .st-key-specifications strong { color:var(--st-ink); font-size:14px; line-height:1.5; font-weight:600; }
body.single-product .st-spec-link { display:inline-block; color:var(--st-blue); margin-top:20px; padding:5px 0; text-decoration:underline; text-underline-offset:3px; font-size:14px; font-weight:600; }
body.single-product .st-spec-link:focus-visible { outline:2px solid var(--st-blue); outline-offset:4px; }
body.single-product .st-spec-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px 32px; }
body.single-product .st-spec-group { min-width:0; }
body.single-product .product-layout-default .woocommerce-tabs .st-spec-group h3 {
 margin:0 0 12px; font-size:18px; line-height:1.4; color:var(--st-ink); text-transform:none; letter-spacing:0;
}
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications {
 width:100%; max-width:100%; table-layout:fixed; border-collapse:collapse; border:0; margin:0; font-size:14px;
}
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications tr { background:#fff; }
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications tr:nth-child(odd) { background:#f5f9fb; }
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications th,
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications td {
 display:table-cell; box-sizing:border-box; padding:13px 12px; border:0; border-bottom:1px solid var(--st-line);
 vertical-align:top; white-space:normal; overflow-wrap:anywhere; line-height:1.55; text-align:left;
}
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications th { width:43%; color:var(--st-muted); font-weight:400; }
body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications td { width:57%; color:var(--st-ink); font-weight:600; }
body.single-product .st-spec-label { display:flex; align-items:flex-start; gap:8px; min-width:0; }
body.single-product .st-spec-label svg { margin-top:2px; color:var(--st-blue); }
body.single-product .st-spec-label > span { min-width:0; }
body.single-product .st-box-layout { display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:32px; align-items:center; }
body.single-product .st-box-photo { margin:0; padding:16px; border:1px solid var(--st-line); border-radius:12px; background:#fff; }
body.single-product .st-box-photo img { display:block; width:100%; height:auto; max-height:320px; object-fit:contain; }
body.single-product .st-in-the-box { list-style:none; margin:0; padding:0; }
body.single-product .st-in-the-box li { position:relative; padding:10px 0 10px 28px; line-height:1.6; border-bottom:1px solid var(--st-line); overflow-wrap:anywhere; }
body.single-product .st-in-the-box li::before { content:'✓'; position:absolute; left:0; color:var(--st-blue); font-weight:700; }
body.single-product #tab-additional_information { scroll-margin-top:200px; }
@media (max-width:991px) {
 body.single-product .st-spec-groups { grid-template-columns:1fr; }
 body.single-product .st-key-specifications ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 body.single-product .st-key-specifications { padding:18px 16px; }
 body.single-product .st-key-specifications ul { gap:18px 14px; }
 body.single-product .st-box-layout { grid-template-columns:1fr; gap:20px; }
 body.single-product .st-box-photo { width:min(100%,300px); justify-self:center; }
 body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications th,
 body.single-product .product-layout-default .woocommerce-tabs table.st-product-specifications td { padding:12px 10px; }
 body.single-product .st-spec-label { gap:6px; }
 body.single-product .st-spec-label svg { width:16px; height:16px; flex-basis:16px; }
 body.single-product #tab-additional_information { scroll-margin-top:90px; }
}
@media (max-width:359px) {
 body.single-product .st-key-specifications ul { grid-template-columns:1fr; }
}
