/* Springsan Product List V1 — only product inner-page selectors.
 * Preserves original CMS layout and functions; DOES NOT affect shared Header/Footer.
 * Bootstrap 5 native .container: sm 540 / md 720 / lg 960 / xl 1140 / xxl 1320.
 */
.spr-product-page .spr-product { --spr-pro-blue:var(--spr-primary,#42a5e4);--spr-pro-ink:#17191c;--spr-pro-muted:#777d83;--spr-pro-border:#e5e8eb;--spr-pro-light:#f6f7f8; background:#fff;color:var(--spr-pro-ink); }
.spr-product-page .spr-product * { box-sizing:border-box; }
.spr-product-page .spr-product__banner { display:block; width:100%; overflow:hidden; background:#f0f1f2; }
.spr-product-page .spr-product__banner img { display:block; width:100%; height:auto; max-height:420px; object-fit:cover; object-position:center; }
.spr-product-page .spr-product__breadcrumb { display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:clamp(1.15rem,2vw,1.65rem) 0;margin:0; color:#959ba2;font:400 .83rem/1.65 var(--spr-font,'Poppins',Arial,sans-serif); }
.spr-product-page .spr-product__breadcrumb a { color:#656c73;text-decoration:none; }
.spr-product-page .spr-product__breadcrumb a:hover { color:var(--spr-pro-blue); }
.spr-product-page .spr-product__standard { padding-top:clamp(1.2rem,2.2vw,2.1rem); padding-bottom:clamp(3rem,6vw,6rem); }
.spr-product-page .spr-product__sidebar,.spr-product-page .spr-product__results { min-width:0; }
/* Sidebar stays on the left for desktop, as in original Code.zip/product.php. */
.spr-product-page .spr-product__category-box { background:#fff; border:1px solid var(--spr-pro-border); }
.spr-product-page .spr-product__category-title { background:#121314;color:#fff;font:600 .98rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);letter-spacing:.015em;margin:0;padding:1.12rem 1.15rem; }
.spr-product-page .spr-product__category-list,.spr-product-page .spr-product__subcategories { margin:0;padding:0;list-style:none; }
.spr-product-page .spr-product__category-list { padding:.6rem; }
.spr-product-page .spr-product__category-item { border-bottom:1px solid #eceef0; }
.spr-product-page .spr-product__category-item:last-child { border-bottom:0; }
.spr-product-page .spr-product__category-item > a,.spr-product-page .spr-product__category-item > span { display:block; padding:.85rem .8rem; color:#45494e; font:500 .88rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);text-decoration:none;overflow-wrap:anywhere;transition:background .18s,color .18s; }
.spr-product-page .spr-product__category-item > a:hover { color:var(--spr-pro-blue); background:#f5f9fc; }
.spr-product-page .spr-product__category-item.is-current > a,.spr-product-page .spr-product__category-item.is-current > span { color:var(--spr-pro-blue);font-weight:600; background:#f2f9fe; }
.spr-product-page .spr-product__subcategories { padding:.1rem 0 .5rem .85rem; }
.spr-product-page .spr-product__subcategories li { border-left:1px solid #dce3e8; }
.spr-product-page .spr-product__subcategories a,.spr-product-page .spr-product__subcategories span { display:block;font:400 .8rem/1.45 var(--spr-font,'Poppins',Arial,sans-serif);color:#777c81; padding:.5rem .55rem .5rem .8rem;text-decoration:none;overflow-wrap:anywhere; }
.spr-product-page .spr-product__subcategories a:hover,.spr-product-page .spr-product__subcategories .is-current a { color:var(--spr-pro-blue);background:#f3f9fd; }
/* Main products: 3 columns desktop, 2 columns phone/tablet, original button pair. */
.spr-product-page .spr-product__results-head { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.45rem 1rem;padding:0 0 1.25rem;margin:0 0 1.7rem;border-bottom:1px solid var(--spr-pro-border); }
.spr-product-page .spr-product__results-head h1 { margin:0; font:600 clamp(1.7rem,2.6vw,2.4rem)/1.23 var(--spr-font,'Poppins',Arial,sans-serif);letter-spacing:-.025em;overflow-wrap:anywhere; }
.spr-product-page .spr-product__count { font:400 .81rem/1.6 var(--spr-font,'Poppins',Arial,sans-serif); color:#8c9298; }
.spr-product-page .spr-product__grid-item { min-width:0; }
.spr-product-page .spr-product__card { display:flex;flex-direction:column; min-width:0; background:#fff; border:1px solid var(--spr-pro-border); transition:border-color .2s,box-shadow .2s; }
.spr-product-page .spr-product__card:hover { border-color:#c8dfea; box-shadow:0 8px 22px rgba(14,19,23,.05); }
.spr-product-page .spr-product__image-wrap { width:100%; aspect-ratio:1/1;overflow:hidden;background:#fafafa;position:relative; }
.spr-product-page .spr-product__image-wrap a { display:flex;align-items:center;justify-content:center;width:100%;height:100%; }
.spr-product-page .spr-product__image-wrap img {display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease; }
.spr-product-page .spr-product__card:hover .spr-product__image-wrap img {transform:scale(1.035);}
.spr-product-page .spr-product__noimage { display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#9ca0a5;background:#f5f6f7;font-size:.76rem; }
.spr-product-page .spr-product__card-content { display:flex; flex:1; flex-direction:column; padding:1.05rem .9rem 1rem; }
.spr-product-page .spr-product__name { margin:0 0 1.05rem; min-height:3.15rem; max-height:4.75rem; overflow:hidden; display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;font:500 .87rem/1.7 var(--spr-font,'Poppins',Arial,sans-serif);overflow-wrap:anywhere; }
.spr-product-page .spr-product__name a { color:#262a2e; text-decoration:none; }
.spr-product-page .spr-product__name a:hover {color:var(--spr-pro-blue);}
.spr-product-page .spr-product__actions {display:flex;gap:.45rem;margin-top:auto;}
.spr-product-page .spr-product__btn {display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:2.5rem;padding:.53rem .2rem;border:1px solid var(--spr-pro-blue);border-radius:0;color:var(--spr-pro-blue);background:#fff;text-align:center;text-decoration:none;cursor:pointer;font:500 .73rem/1.35 var(--spr-font,'Poppins',Arial,sans-serif);transition:color .2s,background .2s,border-color .2s;}
.spr-product-page .spr-product__btn--solid { background:var(--spr-pro-blue);color:#fff; }
.spr-product-page .spr-product__btn--outline:hover,.spr-product-page .spr-product__btn--solid:hover {background:#171a1d;color:#fff;border-color:#171a1d;}
.spr-product-page .spr-product__btn.is-disabled {opacity:.5;cursor:default;}
.spr-product-page .spr-product__empty {font:400 .9rem/1.7 var(--spr-font,'Poppins',Arial,sans-serif);color:#8b9095;padding:2rem 0;}
/* Pagination links are generated by original product-list-common.php ($PageList). */
.spr-product-page .spr-product__pagination { margin:clamp(2rem,3vw,3rem) 0 0; text-align:center; }
.spr-product-page .spr-product__pagination .page-nav { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem; }
.spr-product-page .spr-product__pagination .page-nav :is(a,span) {display:inline-flex;justify-content:center;align-items:center;min-width:2.2rem;min-height:2.25rem;padding:.35rem .65rem;border:1px solid #e4e6e8;color:#454c53;text-decoration:none;font:.81rem/1.4 var(--spr-font,'Poppins',Arial,sans-serif); }
.spr-product-page .spr-product__pagination .page-nav a:hover,.spr-product-page .spr-product__pagination .page-nav .current {background:var(--spr-pro-blue);border-color:var(--spr-pro-blue);color:#fff;}
.spr-product-page .spr-product__seo {padding-top:2.2rem;margin-top:2.2rem;border-top:1px solid var(--spr-pro-border);}
.spr-product-page .spr-product__seo h2 {font:600 clamp(1.25rem,2vw,1.7rem)/1.4 var(--spr-font,'Poppins',Arial,sans-serif);color:#191c1f;}
/* Original product_intro mode: category intro, products, manufacturing carousel and FAQ. */
.spr-product-page .spr-product__category-intro {background:#f5f7f8;padding:clamp(2.7rem,5vw,5rem) 0; }
.spr-product-page .spr-product__category-intro h1 {font:600 clamp(2rem,3.3vw,3.25rem)/1.2 var(--spr-font,'Poppins',Arial,sans-serif);color:#181b1d; }
.spr-product-page .spr-product__category-intro .spr-product__richtext {margin:1.1rem 0 0;}
.spr-product-page .spr-product__cta {display:inline-flex;align-items:center;gap:1.8rem;padding:.92rem 1.25rem;margin-top:1.3rem;background:var(--spr-pro-blue);color:#fff;text-decoration:none;font:600 .81rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);}
.spr-product-page .spr-product__cta:hover {background:#161719;color:#fff;}
.spr-product-page .spr-product__featured-category {padding:clamp(3rem,5.5vw,5rem) 0;}
.spr-product-page .spr-product__feature-heading {text-align:center;max-width:760px;margin:0 auto clamp(2rem,3.5vw,3rem);}
.spr-product-page .spr-product__feature-heading h2 {font:600 clamp(1.5rem,3vw,2.65rem)/1.25 var(--spr-font,'Poppins',Arial,sans-serif);margin:0 0 1rem;}
.spr-product-page .spr-product__manufacturing {padding:clamp(2.5rem,4.5vw,4.5rem) 0;background:#f5f6f7;}
.spr-product-page .spr-product__tab-title {border-bottom:2px solid var(--spr-pro-blue);margin:0 0 1.6rem;padding:0 0 .9rem;font:600 1.55rem/1.35 var(--spr-font,'Poppins',Arial,sans-serif);}
.spr-product-page .spr-product__album {overflow:hidden;position:relative;padding-bottom:2.2rem;}
.spr-product-page .spr-product__album .swiper-slide {overflow:hidden;aspect-ratio:4/3;background:#e5e8eb;}
.spr-product-page .spr-product__album .swiper-slide img {width:100%;height:100%;object-fit:cover;display:block;}
.spr-product-page .spr-product__album .swiper-pagination {bottom:.1rem;}
.spr-product-page .spr-product__album .swiper-pagination-bullet-active {background:var(--spr-pro-blue);}
.spr-product-page .spr-product__manufacturing-description {margin-top:1.5rem;}
.spr-product-page .spr-product__detail-content {padding:clamp(3rem,5vw,5rem) 0;}
.spr-product-page .spr-product__richtext {min-width:0;font:400 .92rem/1.9 var(--spr-font,'Poppins',Arial,sans-serif);color:#646c74;overflow-wrap:anywhere;}
.spr-product-page .spr-product__richtext :is(p,ul,ol,table,blockquote,figure) {margin:0 0 1rem;}
.spr-product-page .spr-product__richtext :is(h1,h2,h3) {color:#1b2025;font-weight:600;line-height:1.4;margin:1.3rem 0 .7rem;}
.spr-product-page .spr-product__richtext :is(img,video) {max-width:100%;height:auto;}
.spr-product-page .spr-product__richtext iframe {max-width:100%;}
.spr-product-page .spr-product__richtext table {display:block;overflow-x:auto;max-width:100%;border-collapse:collapse;}
.spr-product-page .spr-product__richtext :is(td,th) {border:1px solid #dee3e7;padding:.5rem;}
.spr-product-page .spr-product__richtext :is(ul,ol) {padding-left:1.4rem;}
.spr-product-page .spr-product__richtext a {color:var(--spr-pro-blue);}
.spr-product-page .spr-product__inquiry-box {padding:1.5rem;background:#f6f7f8;border:1px solid #e8ecee;position:sticky;top:110px;}
.spr-product-page .spr-product__inquiry-box h2 {color:#171b1e;font:600 1.22rem/1.4 var(--spr-font,'Poppins',Arial,sans-serif);margin:0 0 1.2rem;}
.spr-product-page .spr-product__inquiry-box label {display:block;color:#323940;font:500 .8rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);margin:.8rem 0 .4rem;}
.spr-product-page .spr-product__inquiry-box .form-control {border-radius:0;min-height:2.75rem;background:#fff;border:1px solid #dce1e6;color:#23262a;font:.84rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);}
.spr-product-page .spr-product__inquiry-box textarea.form-control {min-height:7.8rem;resize:vertical;}
.spr-product-page .spr-product__inquiry-box .form-control:focus {border-color:var(--spr-pro-blue);box-shadow:0 0 0 .12rem rgba(66,165,228,.14);}
.spr-product-page .spr-product__hint {font-size:.73rem;color:#92979d;margin:.45rem 0 0;}
.spr-product-page .spr-product__errors {font:.8rem/1.6 var(--spr-font,'Poppins',Arial,sans-serif);color:#ba4545;margin:.7rem 0;}
.spr-product-page .spr-product__submit {display:flex;justify-content:space-between;align-items:center;gap:1.4rem;width:100%;min-height:2.85rem;background:#151719;color:#fff;border:0;padding:.7rem 1rem;font:600 .78rem/1.5 var(--spr-font,'Poppins',Arial,sans-serif);}
.spr-product-page .spr-product__submit:hover {background:var(--spr-pro-blue);}
.spr-product-page .spr-product__submit:disabled {opacity:.6;cursor:wait;}
@media (max-width:991.98px) {
  .spr-product-page .spr-product__standard {padding-top:1rem;}
  .spr-product-page .spr-product__inquiry-box {position:static;}
  .spr-product-page .spr-product__category-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem;}
  .spr-product-page .spr-product__category-item {border:0;}
  .spr-product-page .spr-product__category-item > a,.spr-product-page .spr-product__category-item > span {padding:.65rem .75rem;background:#f6f7f9;}
  .spr-product-page .spr-product__subcategories {padding:0 0 .3rem .2rem;}
}
@media (max-width:575.98px) {
  .spr-product-page .spr-product__banner img {max-height:215px;}
  .spr-product-page .spr-product__results-head {margin-bottom:1.15rem;}
  .spr-product-page .spr-product__category-list {gap:.25rem .4rem;}
  .spr-product-page .spr-product__category-item > a,.spr-product-page .spr-product__category-item > span {font-size:.78rem;}
  .spr-product-page .spr-product__card-content {padding:.8rem .5rem .65rem;}
  .spr-product-page .spr-product__name {font-size:.76rem;line-height:1.55;min-height:2.5rem;margin-bottom:.8rem;}
  .spr-product-page .spr-product__actions {gap:.24rem;}
  .spr-product-page .spr-product__btn {font-size:.66rem;padding:.45rem .15rem;min-height:2.35rem;}
  .spr-product-page .spr-product__count {font-size:.75rem;}
  .spr-product-page .spr-product__inquiry-box {padding:1.1rem;}
}
@media (prefers-reduced-motion: reduce) {
  .spr-product-page .spr-product__card,.spr-product-page .spr-product__btn,.spr-product-page .spr-product__image-wrap img,.spr-product-page .spr-product__category-item > a {transition:none;}
}
