/* SG Corp premium catalogue experience — scoped to shop.html */
.sg-shop-page{
  background:#f5f7fb;
  color:#15233a;
}
.sg-shop-page main{background:#f5f7fb}

/* Hero */
.sg-shop-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 88% 8%,rgba(243,107,33,.24),transparent 28%),
    radial-gradient(circle at 10% 92%,rgba(32,195,189,.18),transparent 31%),
    linear-gradient(130deg,#052f38 0%,#073f49 52%,#0a5560 100%);
  padding:68px 26px 76px;
}
.sg-shop-hero:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-270px;
  bottom:-330px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 0 52px rgba(255,255,255,.035),0 0 0 105px rgba(255,255,255,.025);
}
.sg-shop-hero-inner{
  position:relative;
  z-index:1;
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:58px;
  align-items:center;
}
.sg-shop-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#e9fbff;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:20px;
}
.sg-shop-hero h1{
  max-width:820px;
  color:#fff;
  font-family:'Syne',sans-serif;
  font-size:clamp(2.8rem,5.6vw,5.25rem);
  line-height:.99;
  letter-spacing:-.052em;
  margin:0 0 20px;
}
.sg-shop-hero-copy>p{
  max-width:760px;
  color:#d8edf0;
  font-size:1.06rem;
  line-height:1.75;
  margin:0 0 28px;
}
.sg-shop-hero-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:11px;
}
.sg-shop-hero-actions .btn{min-height:48px}
.sg-shop-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-size:.88rem;
  font-weight:900;
  padding:12px 6px;
}
.sg-shop-text-link:hover{color:#ffd2b7}
.sg-shop-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px 26px;
  margin-top:27px;
  padding-top:21px;
  border-top:1px solid rgba(255,255,255,.16);
}
.sg-shop-trust-row span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#e5f2f4;
  font-size:.82rem;
  font-weight:800;
}
.sg-shop-trust-row i{color:#ff9c62}

.sg-shop-showcase{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:190px 190px;
  gap:15px;
  min-height:395px;
}
.sg-showcase-card,
.sg-showcase-stat{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.21);
  background:#fff;
  box-shadow:0 24px 62px rgba(0,0,0,.22);
}
.sg-showcase-card{display:block;text-decoration:none}
.sg-showcase-main{grid-row:1/3}
.sg-showcase-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:18px;
  background:linear-gradient(145deg,#fff,#f0f6f7);
  transition:transform .35s ease;
}
.sg-showcase-card:hover img{transform:scale(1.035)}
.sg-showcase-card:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:52%;
  background:linear-gradient(to top,rgba(2,26,31,.88),transparent);
}
.sg-showcase-label{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:17px;
  color:#fff;
}
.sg-showcase-label small{
  display:block;
  margin-bottom:3px;
  color:#bceff1;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.sg-showcase-label strong{
  display:block;
  font-family:'Syne',sans-serif;
  font-size:1.03rem;
  line-height:1.2;
}
.sg-showcase-stat{
  display:flex;
  align-items:center;
  gap:14px;
  padding:17px 19px;
  color:#fff;
  background:linear-gradient(135deg,#ef6d28,#ff8c4e);
}
.sg-showcase-stat strong{
  font-family:'Syne',sans-serif;
  font-size:2.2rem;
  line-height:1;
}
.sg-showcase-stat span{font-size:.78rem;font-weight:800;line-height:1.3}

/* Tabs */
.sg-shop-page .sg-tab-shell{
  position:sticky;
  top:0;
  z-index:42;
  max-width:none;
  margin:0;
  padding:0;
  background:rgba(245,247,251,.93);
  border-bottom:1px solid #dfe7ef;
  backdrop-filter:blur(14px);
}
.sg-shop-page .sg-tab-list{
  max-width:1320px;
  margin:0 auto;
  padding:12px 26px;
  gap:10px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.sg-shop-page .sg-tab-button{
  flex:0 1 auto;
  min-height:48px;
  padding:11px 17px;
  border:1px solid #dbe4ee;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(7,29,79,.045);
}
.sg-shop-page .sg-tab-button:hover{background:#f8fbfd;border-color:#bfcfdd}
.sg-shop-page .sg-tab-button.active{
  color:#fff;
  border-color:#073f49;
  background:linear-gradient(135deg,#073f49,#0b6570);
  box-shadow:0 10px 25px rgba(7,63,73,.18);
}
.sg-tab-label{white-space:nowrap}
.sg-tab-count{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#edf2f6;
  color:#52627a;
  font-size:.7rem;
  font-weight:900;
}
.sg-tab-button.active .sg-tab-count{background:rgba(255,255,255,.18);color:#fff}

/* Overview */
.sg-shop-page .sg-page-section{padding:58px 0 72px}
.sg-shop-overview-section{background:linear-gradient(180deg,#f5f7fb 0%,#fff 100%)}
.sg-shop-intro-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:28px;
}
.sg-shop-section-kicker,
.sg-shop-category-kicker{
  display:block;
  color:#e76120;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:7px;
}
.sg-shop-intro-row h2,
.sg-shop-page .sg-section-title h2{
  color:#132a4e;
  font-family:'Syne',sans-serif;
  letter-spacing:-.025em;
}
.sg-shop-intro-row h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;margin:0 0 9px}
.sg-shop-intro-row p{max-width:710px;color:#647187}
.sg-shop-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.sg-shop-category-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  border:1px solid #dce5ee;
  border-radius:25px;
  background:#fff;
  box-shadow:0 14px 40px rgba(14,39,76,.075);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.sg-shop-category-card:hover{
  transform:translateY(-5px);
  border-color:#c2d2df;
  box-shadow:0 23px 55px rgba(14,39,76,.13);
}
.sg-shop-category-media,
.sg-shop-resource-visual{
  position:relative;
  height:245px;
  overflow:hidden;
  background:linear-gradient(145deg,#eef5f7,#fff);
}
.sg-shop-category-media img{width:100%;height:100%;object-fit:contain;padding:22px;transition:transform .35s ease}
.sg-shop-category-card:hover .sg-shop-category-media img{transform:scale(1.04)}
.sg-shop-category-count{
  position:absolute;
  right:15px;
  top:15px;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(5,47,56,.91);
  font-size:.72rem;
  font-weight:900;
  box-shadow:0 8px 22px rgba(5,47,56,.18);
}
.sg-shop-resource-visual{
  display:grid;
  place-items:center;
  grid-template-columns:auto auto;
  gap:20px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,255,255,.16),transparent 30%),
    linear-gradient(135deg,#142b5f,#0e6870);
}
.sg-shop-resource-visual i{font-size:4.3rem;color:#ff8a47;filter:drop-shadow(0 12px 24px rgba(0,0,0,.18))}
.sg-shop-resource-visual span{font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:800;line-height:1.55}
.sg-shop-category-body{display:flex;flex-direction:column;flex:1;padding:24px}
.sg-shop-category-body h3{font-family:'Syne',sans-serif;color:#132a4e;font-size:1.42rem;line-height:1.15;margin:0 0 10px}
.sg-shop-category-body p{color:#68768b;font-size:.9rem;line-height:1.65;margin:0 0 17px;flex:1}
.sg-shop-category-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:19px}
.sg-shop-category-tags span{padding:6px 9px;border-radius:999px;background:#f1f5f8;color:#526279;font-size:.68rem;font-weight:900}
.sg-shop-category-link{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#073f49;text-decoration:none;font-weight:900;font-size:.88rem;padding-top:15px;border-top:1px solid #edf1f5}
.sg-shop-category-link i{color:#ef6d28;transition:transform .2s ease}
.sg-shop-category-link:hover i{transform:translateX(4px)}

.sg-shop-service-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:28px;
  overflow:hidden;
  border:1px solid #dce5ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 35px rgba(14,39,76,.055);
}
.sg-shop-service-strip>div{
  display:flex;
  align-items:center;
  gap:13px;
  padding:19px 20px;
  border-right:1px solid #e7edf2;
}
.sg-shop-service-strip>div:last-child{border-right:0}
.sg-shop-service-strip>div>i{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,#073f49,#0d7b82);
}
.sg-shop-service-strip span{min-width:0}
.sg-shop-service-strip strong{display:block;color:#132a4e;font-size:.84rem}
.sg-shop-service-strip small{display:block;color:#6c798d;font-size:.71rem;line-height:1.35;margin-top:3px}

/* Catalogue sections */
.sg-shop-catalogue-section{background:#f5f7fb}
.sg-shop-page .sg-section-title{
  align-items:center;
  margin-bottom:22px;
  padding:25px 27px;
  border:1px solid #dce5ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(14,39,76,.05);
}
.sg-shop-page .sg-section-title h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.sg-shop-page .sg-section-title p{color:#68768b;line-height:1.6}
.sg-shop-page .sg-grade-filter{
  display:flex;
  gap:7px;
  margin:0 0 14px;
  padding:8px;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
  border:1px solid #dbe4ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 23px rgba(14,39,76,.045);
  scrollbar-width:thin;
}
.sg-shop-page .sg-grade-chip{
  flex:0 0 auto;
  min-height:37px;
  padding:8px 13px;
  border:0;
  background:transparent;
  color:#58687e;
}
.sg-shop-page .sg-grade-chip:hover{background:#eef4f6;color:#073f49}
.sg-shop-page .sg-grade-chip.active{
  color:#fff;
  background:#ef6d28;
  box-shadow:0 7px 17px rgba(239,109,40,.2);
}
.sg-shop-filter-toggle{
  display:none;
  width:100%;
  min-height:46px;
  margin:0 0 12px;
  padding:0 15px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #dbe4ec;
  border-radius:14px;
  color:#132a4e;
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
.sg-shop-page .sg-filter-card{
  position:sticky;
  top:78px;
  z-index:24;
  margin-bottom:18px;
  padding:14px;
  border:1px solid #d7e1ea;
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 14px 36px rgba(14,39,76,.075);
}
.sg-filter-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:0 2px 11px;
  color:#132a4e;
}
.sg-filter-heading span{font-size:.8rem;font-weight:900}
.sg-filter-heading span i{margin-right:7px;color:#ef6d28}
.sg-filter-heading small{color:#8190a2;font-size:.68rem}
.sg-shop-page .sg-filter-row{
  grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(145px,.75fr));
  gap:9px;
}
.sg-shop-page .sg-filter-field input,
.sg-shop-page .sg-filter-field select{
  height:45px;
  border-color:#d9e2ea;
  border-radius:12px;
  background:#fbfcfd;
  font-size:.82rem;
}
.sg-shop-page .sg-filter-field input:focus,
.sg-shop-page .sg-filter-field select:focus{background:#fff}
.sg-shop-page .sg-result-summary{
  margin:15px 2px 19px;
  padding:13px 16px;
  border:1px solid #e0e7ed;
  border-radius:14px;
  background:#fff;
}
.sg-shop-page .sg-result-summary strong{font-size:.92rem}
.sg-shop-page .sg-result-summary span{max-width:790px;text-align:right;font-size:.77rem;line-height:1.45}

.sg-shop-page .product-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.sg-shop-page .product-card{
  border-radius:19px;
  border-color:#dde5ec;
  box-shadow:0 9px 28px rgba(14,39,76,.055);
}
.sg-shop-page .product-card:hover{
  transform:translateY(-4px);
  border-color:#bfcfdc;
  box-shadow:0 19px 42px rgba(14,39,76,.12);
}
.sg-shop-page .product-image{
  aspect-ratio:1.18/1;
  border-bottom:1px solid #eef2f5;
  background:linear-gradient(145deg,#f7fafb,#fff);
}
.sg-shop-page .product-image img{
  object-fit:contain;
  padding:13px;
}
.sg-shop-page .card-badges{left:10px;top:10px;right:10px}
.sg-shop-page .badge{
  padding:5px 8px;
  font-size:.62rem;
  background:rgba(255,255,255,.96);
}
.sg-shop-page .product-body{padding:17px}
.sg-shop-page .product-kicker{font-size:.64rem;margin-bottom:6px}
.sg-shop-page .product-card h3{
  min-height:2.5em;
  font-size:1rem;
  line-height:1.24;
  margin-bottom:7px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sg-shop-page .product-card p{
  min-height:3.75em;
  margin-bottom:12px;
  font-size:.78rem;
  line-height:1.52;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sg-shop-page .product-meta{gap:5px;margin-bottom:12px}
.sg-shop-page .meta-pill{padding:4px 7px;font-size:.62rem}
.sg-shop-page .product-price{padding:10px 0;margin:0 0 12px}
.sg-shop-page .product-price span{font-size:.62rem}
.sg-shop-page .product-price strong{font-size:1.03rem}
.sg-shop-page .product-actions{gap:7px}
.sg-shop-page .product-actions .btn{min-height:39px;padding:8px 9px;font-size:.72rem}
.sg-shop-page .sg-load-more-wrap{margin-top:25px}
.sg-shop-page .sg-load-more-wrap .btn{min-width:230px}

/* Own collection callout */
.sg-shop-page .sg-own-highlight{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  margin:0 0 16px;
  padding:17px 19px;
  border:1px solid #cde1e2;
  border-radius:18px;
  background:linear-gradient(135deg,#edf8f8,#fff);
}
.sg-shop-page .sg-own-highlight-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#073f49,#0b7b82);
}
.sg-shop-page .sg-own-highlight strong{color:#132a4e}
.sg-shop-page .sg-own-highlight p{color:#6b788b;font-size:.78rem;margin:3px 0 0}

/* Resource cards */
.sg-shop-resource-panel .sg-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sg-shop-resource-panel .sg-category-card{
  min-height:210px;
  border-radius:20px;
  box-shadow:0 9px 28px rgba(14,39,76,.055);
}

/* Compact SEO directory */
.sg-shop-page .sg-seo-directory{
  padding:40px 0 68px;
  border-top:1px solid #e2e9ef;
  background:#eef2f6;
}
.sg-shop-page .sg-seo-directory .sg-section-title{
  margin-bottom:12px;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.sg-shop-page .sg-directory-group{
  overflow:hidden;
  margin:10px 0;
  border:1px solid #d6e0e8;
  border-radius:15px;
  background:#fff;
  box-shadow:0 6px 22px rgba(14,39,76,.035);
}
.sg-shop-page .sg-directory-group summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  min-height:55px;
  padding:14px 17px;
  color:#132a4e;
  cursor:pointer;
  font-size:.86rem;
  font-weight:900;
  list-style:none;
}
.sg-shop-page .sg-directory-group summary::-webkit-details-marker{display:none}
.sg-shop-page .sg-directory-group summary:after{
  content:"+";
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-left:auto;
  border-radius:50%;
  color:#073f49;
  background:#edf3f5;
  font-size:1.05rem;
}
.sg-shop-page .sg-directory-group[open] summary:after{content:"−"}
.sg-shop-page .sg-directory-group summary span{
  margin-left:8px;
  color:#7a8798;
  font-size:.7rem;
  font-weight:800;
}
.sg-shop-page .sg-directory-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  max-height:460px;
  overflow:auto;
  border-top:1px solid #e3e9ee;
  background:#e8edf1;
}
.sg-shop-page .sg-directory-link{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:12px 14px;
  color:#18304d;
  text-decoration:none;
  background:#fff;
}
.sg-shop-page .sg-directory-link:hover{background:#fff7f1}
.sg-shop-page .sg-directory-link strong{font-size:.78rem;line-height:1.35}
.sg-shop-page .sg-directory-link small{color:#7a8798;font-size:.67rem;line-height:1.35}

@media(max-width:1180px){
  .sg-shop-hero-inner{grid-template-columns:1fr .9fr;gap:38px}
  .sg-shop-page .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sg-shop-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-shop-service-strip>div:nth-child(2){border-right:0}
  .sg-shop-service-strip>div:nth-child(-n+2){border-bottom:1px solid #e7edf2}
  .sg-shop-page .sg-filter-row{grid-template-columns:minmax(240px,1.3fr) repeat(2,minmax(155px,.7fr))}
  .sg-shop-page .sg-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:930px){
  .sg-shop-hero{padding-top:55px}
  .sg-shop-hero-inner{grid-template-columns:1fr}
  .sg-shop-showcase{max-width:680px;grid-template-rows:170px 170px}
  .sg-shop-category-grid{grid-template-columns:1fr 1fr}
  .sg-shop-category-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr}
  .sg-shop-category-card:last-child .sg-shop-resource-visual{height:auto;min-height:270px}
  .sg-shop-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-shop-resource-panel .sg-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-shop-page .sg-own-highlight{grid-template-columns:auto 1fr}.sg-shop-page .sg-own-highlight .btn{grid-column:1/-1;justify-self:start}
}
@media(max-width:720px){
  .sg-shop-hero{padding:46px 18px 54px}
  .sg-shop-hero h1{font-size:clamp(2.45rem,12vw,3.55rem)}
  .sg-shop-hero-copy>p{font-size:.95rem}
  .sg-shop-showcase{grid-template-columns:1fr 1fr;grid-template-rows:220px 155px}
  .sg-showcase-main{grid-column:1/-1;grid-row:auto}
  .sg-showcase-stat{padding:14px}.sg-showcase-stat strong{font-size:1.75rem}
  .sg-shop-page .sg-tab-list{padding:10px 18px}
  .sg-shop-page .sg-tab-button{min-height:44px;padding:10px 13px}
  .sg-tab-count{display:none}
  .sg-shop-page .sg-page-section{padding:42px 0 55px}
  .sg-shop-intro-row{align-items:flex-start;flex-direction:column}
  .sg-shop-category-grid{grid-template-columns:1fr}
  .sg-shop-category-card:last-child{grid-column:auto;display:flex}
  .sg-shop-category-card:last-child .sg-shop-resource-visual{height:230px;min-height:0}
  .sg-shop-service-strip{grid-template-columns:1fr}
  .sg-shop-service-strip>div{border-right:0;border-bottom:1px solid #e7edf2!important}
  .sg-shop-service-strip>div:last-child{border-bottom:0!important}
  .sg-shop-page .sg-section-title{align-items:flex-start;padding:20px;flex-direction:column}
  .sg-shop-page .sg-filter-card{display:none;position:static}
  .sg-shop-page .sg-filter-card.sg-filter-open{display:block}
  .sg-shop-filter-toggle{display:flex}
  .sg-shop-page .sg-filter-row{grid-template-columns:1fr}
  .sg-filter-heading{display:none}
  .sg-shop-page .sg-result-summary{align-items:flex-start;flex-direction:column}
  .sg-shop-page .sg-result-summary span{text-align:left}
  .sg-shop-page .sg-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:510px){
  .sg-shop-showcase{grid-template-rows:200px 130px;gap:10px}
  .sg-showcase-card,.sg-showcase-stat{border-radius:17px}
  .sg-showcase-label{left:12px;right:12px;bottom:11px}.sg-showcase-label strong{font-size:.84rem}
  .sg-shop-trust-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .sg-shop-page .product-grid{grid-template-columns:1fr 1fr;gap:10px}
  .sg-shop-page .product-body{padding:12px}
  .sg-shop-page .product-card h3{font-size:.87rem;min-height:2.45em}
  .sg-shop-page .product-card p{display:none}
  .sg-shop-page .product-meta{display:none}
  .sg-shop-page .product-image{aspect-ratio:1/1}
  .sg-shop-page .badge:first-child{display:none}
  .sg-shop-page .product-price{align-items:flex-start;flex-direction:column;gap:2px;padding:8px 0;margin-bottom:9px}
  .sg-shop-page .product-actions{grid-template-columns:1fr}
  .sg-shop-page .product-actions .btn{font-size:.68rem;min-height:37px}
  .sg-shop-resource-panel .sg-category-grid{grid-template-columns:1fr}
  .sg-shop-page .sg-directory-grid{grid-template-columns:1fr}
}
/* Keep the catalogue tabs below the shared sticky header and desktop navigation. */
@media(min-width:901px){
  .sg-shop-page .sg-tab-shell{top:calc(var(--sg-header-height) + 48px);z-index:1400}
}
@media(max-width:900px){
  .sg-shop-page .sg-tab-shell{top:68px;z-index:1400}
}
