/* GripSockSource reusable B2B page system */
.gss-footer-grid{grid-template-columns:1.45fr repeat(5,minmax(120px,1fr));gap:34px}
.gss-footer-legal a{color:inherit}
.gss-hero-collage{display:grid;gap:20px}
.gss-hero-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gss-hero-mini-grid>div{display:grid;min-height:105px;place-items:end start;padding:14px;border:1px solid rgba(255,255,255,.18);color:#d5e0e8;background:#12355b}
.gss-hero-mini-grid span{font-size:.72rem;font-weight:700}
.gss-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px!important}
.gss-card-tags span{padding:5px 8px;border-radius:4px;color:#12355b;background:#f5f8fb;font-size:.72rem;font-weight:700}
.gss-home-inline{margin-top:28px}
.gss-buyer-cards{display:grid;gap:18px}
.gss-buyer-cards article{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;padding:18px;border:1px solid #dde6ee;background:#fff}
.gss-buyer-cards .gss-placeholder-media{min-height:150px}
.gss-quality-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gss-quality-photo figcaption{margin-top:8px;color:#5e6b78;font-size:.75rem}
.woocommerce-shop .woocommerce .price,.woocommerce-shop .woocommerce .button,.woocommerce-shop .woocommerce .star-rating,.woocommerce-shop .woocommerce .stock{display:none!important}
@media(max-width:1280px){.gss-desktop-nav{display:none}.gss-menu-toggle{display:inline-flex}}
@media(max-width:700px){.gss-buyer-cards article{grid-template-columns:1fr}.gss-buyer-cards .gss-placeholder-media{min-height:180px}.gss-hero-mini-grid{grid-template-columns:1fr}}
body.gss-theme{font-family:"Inter",sans-serif;color:#172433}
body.gss-theme h1,body.gss-theme h2,body.gss-theme h3,body.gss-theme h4,.gss-btn,.gss-eyebrow,.gss-brand-copy strong{font-family:"Manrope",sans-serif}
.gss-page-custom .gss-entry-content{color:#172433}
.gss-page-hero{padding:clamp(72px,8vw,112px) 0;color:#fff;background:#0b243b}
.gss-page-hero .gss-eyebrow{color:#ff9871}
.gss-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:clamp(40px,7vw,92px);align-items:center}
.gss-page-hero h1{max-width:850px;margin:0;font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:1.04;color:#fff}
.gss-page-hero p:not(.gss-eyebrow){max-width:720px;margin:24px 0 0;color:#c7d4df;font-size:1.12rem}
.gss-page-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.gss-page-hero-note{padding:28px;border:1px solid rgba(255,255,255,.18);background:#12355b}
.gss-page-hero-note strong{display:block;margin-bottom:10px;color:#fff;font:700 1.05rem "Manrope",sans-serif}
.gss-page-hero-note p{margin:0!important;color:#c7d4df!important;font-size:.94rem!important}
.gss-page-section{padding:clamp(70px,8vw,104px) 0}
.gss-page-section.is-soft{background:#f5f8fb}
.gss-page-section.is-dark{color:#fff;background:#12355b}
.gss-page-section.is-dark h2,.gss-page-section.is-dark h3{color:#fff}
.gss-page-heading{max-width:760px;margin-bottom:42px}
.gss-page-heading h2{margin:0;color:#172433;font-size:clamp(2rem,4vw,3.15rem);line-height:1.12}
.gss-page-heading p{margin:18px 0 0;color:#5e6b78;font-size:1.05rem}
.gss-page-section.is-dark .gss-page-heading p{color:#c7d4df}
.gss-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gss-card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gss-card{padding:30px;border:1px solid #dde6ee;border-radius:10px;background:#fff}
.gss-card h3{margin:0 0 12px;color:#172433;font-size:1.18rem}
.gss-card p{margin:0;color:#5e6b78}
.gss-card ul{margin:16px 0 0;padding-left:20px;color:#5e6b78}
.gss-card .gss-text-link{margin-top:20px}
.gss-number{display:block;margin-bottom:34px;color:#f26b38;font:700 .78rem "Manrope",sans-serif;letter-spacing:.1em}
.gss-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,8vw,100px);align-items:start}
.gss-copy h2{margin:0;font-size:clamp(2rem,4vw,3.1rem);line-height:1.12}
.gss-copy p{color:#5e6b78}
.gss-checks{display:grid;gap:0;margin:0;padding:0;border-top:1px solid #dde6ee;list-style:none}
.gss-checks li{padding:19px 0 19px 30px;border-bottom:1px solid #dde6ee;position:relative}
.gss-checks li:before{content:"✓";position:absolute;left:0;color:#f26b38;font-weight:800}
.gss-data-table{width:100%;border-collapse:collapse;background:#fff}
.gss-data-table th,.gss-data-table td{padding:17px 18px;border:1px solid #dde6ee;text-align:left;vertical-align:top}
.gss-data-table th{width:30%;color:#172433;background:#f5f8fb;font-family:"Manrope",sans-serif}
.gss-page-faq details{border-bottom:1px solid #dde6ee}
.gss-page-faq summary{padding:20px 0;cursor:pointer;color:#172433;font:700 1rem "Manrope",sans-serif}
.gss-page-faq details p{max-width:820px;margin:0 0 22px;color:#5e6b78}
.gss-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.gss-related a{padding:9px 13px;border:1px solid #dde6ee;border-radius:6px;color:#12355b;text-decoration:none;background:#fff}
.gss-inline-cta{padding:36px;color:#fff;background:#0b243b}
.gss-inline-cta h2{margin:0 0 12px;color:#fff}
.gss-inline-cta p{max-width:720px;color:#c7d4df}
.gss-form{display:grid;gap:18px}
.gss-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gss-form label{display:grid;gap:7px;color:#172433;font-weight:700}
.gss-form input,.gss-form select,.gss-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd7e1;border-radius:6px;background:#fff}
.gss-form textarea{min-height:140px;resize:vertical}
.gss-placeholder-media{display:grid;min-height:330px;place-items:center;padding:30px;border-radius:10px;color:#c7d4df;text-align:center;background:#12355b}
.gss-placeholder-media span{max-width:260px}
@media(max-width:900px){.gss-page-hero-grid,.gss-split{grid-template-columns:1fr}.gss-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gss-card-grid,.gss-card-grid.cols-2,.gss-form-grid{grid-template-columns:1fr}.gss-page-hero{padding:64px 0}.gss-page-hero-note,.gss-card,.gss-inline-cta{padding:24px}}
/* Footer responsive rules live here only: one shared definition for the whole site. */
@media(max-width:1080px){.gss-footer-grid{grid-template-columns:1.6fr repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.gss-footer-grid{grid-template-columns:1.5fr repeat(1,minmax(0,1fr))}}
@media(max-width:560px){.gss-footer-grid{grid-template-columns:1fr;gap:38px}}
/* Content authored with fixed multi-column inline grids must collapse on small
 * screens instead of forcing the page wider than the viewport. These grids appear
 * in page bodies and WooCommerce product descriptions, so the rule is scoped to
 * the attributes themselves rather than to one container class. */
@media(max-width:820px){
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(2"]{grid-template-columns:1fr!important}
}
/* Comment and inquiry form controls must never exceed their container. */
.gss-entry-content textarea,
.gss-entry-content input[type=text],
.gss-entry-content input[type=email],
.gss-entry-content input[type=url],
.comment-form textarea,
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url]{max-width:100%;box-sizing:border-box}
