
/* Games CMS v1 */
.game-price{
  margin:1rem 0;
  color:#042663;
  font-size:2rem;
  font-weight:1000;
}

.game-facts{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0;
}

.game-facts span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.4rem .75rem;
  border-radius:999px;
  color:#042663;
  background:#dff5ff;
  font-size:.84rem;
  font-weight:900;
}


/* Services CMS v1 */
.service-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);
  gap:2rem;
  align-items:start;
}

.service-booking-box{
  position:sticky;
  top:120px;
}

.service-fact{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 0;
  border-bottom:1px solid #dfe8f4;
}

.service-fact strong{
  color:#042663;
}

.service-fact span{
  text-align:right;
}

.small-note{
  color:#6a7688;
  font-size:.85rem;
}

@media(max-width:850px){
  .service-detail-layout{
    grid-template-columns:1fr;
  }

  .service-booking-box{
    position:static;
  }
}


/* General Pages CMS v1 */
.cms-content-page{
  max-width:980px;
  margin:0 auto;
  padding:clamp(1.5rem,4vw,3rem);
  border:1px solid #dce7f4;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 46px rgba(4,38,99,.08);
}
.cms-content-page h2{
  margin-top:2rem;
  color:#042663;
  font-size:clamp(1.8rem,3vw,2.7rem);
}
.cms-content-page h2:first-child{margin-top:0}
.cms-content-page h3{color:#092562}
.cms-content-page p,
.cms-content-page li{
  color:#40516c;
  font-size:1.05rem;
  line-height:1.75;
}
.cms-content-page a{
  color:#007bb4;
  font-weight:800;
  text-decoration:underline;
}


/* Public downloads */
.download-resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}

.download-resource-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:260px;
  padding:1.35rem;
  border:1px solid #dce7f4;
  border-radius:20px;
  background:#fff;
  box-shadow:0 15px 36px rgba(4,38,99,.08);
}

.download-resource-type{
  display:inline-flex;
  padding:.35rem .6rem;
  border-radius:999px;
  color:#042663;
  background:#dff5ff;
  font-size:.72rem;
  font-weight:900;
}

.download-resource-card h3{color:#042663}
.download-resource-card p{color:#53627a}
.download-resource-card small{color:#087fb7;font-weight:800}

.download-resource-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.2rem;
}

.download-resource-footer > span{
  color:#6a7688;
  font-size:.85rem;
}

@media(max-width:900px){
  .download-resource-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .download-resource-grid{grid-template-columns:1fr}
}


/* Homepage CMS v1 */
.homepage-cms-hero{position:relative;isolation:isolate;overflow:hidden}
.homepage-hero-background{
  position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover
}
.homepage-cms-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(3,25,62,.92) 0%,rgba(3,25,62,.72) 52%,rgba(3,25,62,.28) 100%)
}
.homepage-cms-hero .hero-inner-v13{position:relative}
.homepage-cms-hero .hero-inner-v13>div:first-child{color:#fff}
.homepage-cms-hero .hero-inner-v13>div:first-child p{color:rgba(255,255,255,.9)}
.homepage-hero-panel{background:rgba(255,255,255,.93);backdrop-filter:blur(8px)}
.dark-home-section{color:#fff;background:#03183e}
.dark-home-section h2,.dark-home-section h3{color:#fff}
.dark-home-section p{color:rgba(255,255,255,.82)}


/* Homepage Spotlight Rotator v2.1 */
.homepage-spotlight{
  position:relative;
  min-width:0;
  min-height:430px;
  border-radius:28px;
  box-shadow:0 24px 65px rgba(0,12,46,.28);
}

.homepage-spotlight-track,
.homepage-spotlight-slide{
  min-height:430px;
}

.homepage-spotlight-slide{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  color:#042663;
}

.homepage-spotlight-slide[hidden]{display:none}

.homepage-spotlight-image{
  position:absolute;
  inset:0;
}

.homepage-spotlight-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.homepage-spotlight-overlay{
  position:absolute;
  inset:0;
  background:#021b48;
}

.homepage-spotlight-content{
  position:relative;
  z-index:2;
  padding:clamp(1.35rem,3vw,2.25rem);
}

.homepage-spotlight-content h2{
  margin:.55rem 0 .7rem;
  font-size:clamp(1.9rem,3vw,3rem);
  line-height:.96;
}

.homepage-spotlight-content p{
  margin:0;
  max-width:38rem;
}

.homepage-spotlight-eyebrow{
  display:inline-flex;
  padding:.38rem .65rem;
  border-radius:999px;
  background:rgba(4,175,251,.17);
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.homepage-spotlight-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1rem;
}

.homepage-spotlight-meta span{
  padding:.38rem .65rem;
  border-radius:999px;
  background:rgba(4,38,99,.1);
  font-size:.78rem;
  font-weight:900;
}

.homepage-spotlight-meta strong{
  font-size:1.25rem;
}

.homepage-spotlight-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.15rem;
}

.homepage-spotlight-slide.style-image,
.homepage-spotlight-slide.style-navy{
  color:#fff;
  background:#03183e;
}

.homepage-spotlight-slide.style-image h2,
.homepage-spotlight-slide.style-navy h2{
  color:#fff;
}

.homepage-spotlight-slide.style-image p,
.homepage-spotlight-slide.style-navy p{
  color:rgba(255,255,255,.9);
}

.homepage-spotlight-slide.style-image .homepage-spotlight-eyebrow,
.homepage-spotlight-slide.style-navy .homepage-spotlight-eyebrow,
.homepage-spotlight-slide.style-image .homepage-spotlight-meta span,
.homepage-spotlight-slide.style-navy .homepage-spotlight-meta span{
  color:#fff;
  background:rgba(255,255,255,.16);
}

.homepage-spotlight-slide.style-cyan{
  background:#04affb;
  color:#042663;
}

.homepage-spotlight-slide.style-light .homepage-spotlight-image{
  position:relative;
  height:190px;
}

.homepage-spotlight-slide.style-light .homepage-spotlight-image img{
  object-fit:contain;
  padding:1rem;
  background:#f5fbff;
}

.homepage-spotlight-slide.style-light .homepage-spotlight-overlay{
  display:none;
}

.homepage-spotlight-controls{
  position:absolute;
  z-index:4;
  right:1rem;
  bottom:1rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.38rem;
  border-radius:999px;
  background:rgba(2,11,36,.72);
  backdrop-filter:blur(8px);
}

.homepage-spotlight-arrow{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.13);
  font-size:1.3rem;
  cursor:pointer;
}

.homepage-spotlight-dots{
  display:flex;
  gap:.35rem;
}

.homepage-spotlight-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.38);
  cursor:pointer;
}

.homepage-spotlight-dots button.active{
  width:24px;
  border-radius:999px;
  background:#5edeff;
}

.product-offer-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  min-height:1.8rem;
  margin:.75rem 0;
}

.product-offer-meta strong{
  color:#042663;
  font-size:1.12rem;
}

.product-offer-meta span{
  color:#42617e;
  font-size:.78rem;
  font-weight:900;
}

.product-card-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:auto;
}

.product-card-actions .btn{
  padding:.65rem .9rem;
}

@media(max-width:900px){
  .homepage-spotlight,
  .homepage-spotlight-track,
  .homepage-spotlight-slide{
    min-height:390px;
  }
}

@media(max-width:640px){
  .homepage-spotlight,
  .homepage-spotlight-track,
  .homepage-spotlight-slide{
    min-height:440px;
  }

  .homepage-spotlight-controls{
    right:.75rem;
    bottom:.75rem;
  }
}

@media(prefers-reduced-motion:reduce){
  .homepage-spotlight-slide{
    scroll-behavior:auto;
  }
}


/* Homepage commercial and community refinements v2.2 */
.product-offer-card .content{
  display:flex;
  flex-direction:column;
  min-height:250px;
}

.product-offer-card .product-offer-meta{
  margin-top:auto;
  padding-top:.8rem;
}

.product-offer-card .product-offer-meta strong{
  font-size:1.38rem;
  line-height:1;
}

.product-offer-card .product-status-main{
  font-size:.94rem !important;
  letter-spacing:.02em;
}

.product-card-actions{
  margin-top:.8rem;
}

.product-card-actions .btn{
  min-width:102px;
  text-align:center;
}

.homepage-section-community .split-panel{
  background:linear-gradient(135deg,#071d4b 0%,#0b3272 100%);
  color:#fff;
}

.homepage-section-community .split-panel h3,
.homepage-section-community .split-panel p{
  color:#fff;
}

.homepage-section-community .split-panel img{
  object-fit:contain;
  padding:2rem;
  background:rgba(255,255,255,.96);
}

.homepage-section-free-resources .split-panel{
  border:1px solid rgba(4,175,251,.22);
}

.homepage-section-free-resources .split-panel img{
  object-fit:cover;
}

.homepage-section-community .section-head,
.homepage-section-free-resources .section-head{
  align-items:flex-end;
}

@media(max-width:720px){
  .product-offer-card .content{
    min-height:0;
  }
}


/* Games catalogue v2.3 */
.games-catalogue-hero .hero-supporting-copy{
  margin-top:.7rem;
  max-width:46rem;
  color:rgba(255,255,255,.78);
}

.catalogue-filterbar{
  position:sticky;
  top:76px;
  z-index:12;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  padding:1rem;
  margin-bottom:2rem;
  border:1px solid rgba(4,175,251,.15);
  border-radius:18px;
  background:rgba(255,255,255,.95);
  box-shadow:0 12px 30px rgba(5,28,73,.08);
  backdrop-filter:blur(10px);
}

.catalogue-section{
  margin:0 0 4rem;
  scroll-margin-top:150px;
}

.catalogue-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:1.2rem;
}

.catalogue-section-heading h2{
  margin:.4rem 0 .35rem;
}

.catalogue-section-heading p{
  margin:0;
  max-width:50rem;
}

.catalogue-game-card[hidden],
.catalogue-section[hidden]{
  display:none !important;
}

.game-card-media{
  position:relative;
  min-height:235px;
  overflow:hidden;
  background:#061d4d;
}

.game-card-media img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  min-height:235px;
  object-fit:cover;
}

.game-card-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:.55rem;
  padding:1.4rem;
  color:#fff;
  background:
    radial-gradient(circle at 78% 20%,rgba(4,175,251,.38),transparent 33%),
    radial-gradient(circle at 18% 75%,rgba(255,42,196,.25),transparent 32%),
    linear-gradient(145deg,#06163d,#0b3476);
}

.game-card-fallback::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
}

.game-card-fallback > *{
  position:relative;
  z-index:1;
}

.game-card-fallback-mark{
  font-size:.68rem;
  font-weight:1000;
  letter-spacing:.13em;
  color:#5edeff;
}

.game-card-fallback strong{
  max-width:90%;
  font-size:1.55rem;
  line-height:1;
}

.game-card-fallback small{
  font-weight:800;
  color:rgba(255,255,255,.75);
}

.game-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:.65rem;
}

.game-card-badge{
  display:inline-flex;
  padding:.35rem .58rem;
  border-radius:999px;
  font-size:.67rem;
  font-weight:1000;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.game-card-badge.format{
  color:#fff;
  background:#06255d;
}

.game-card-badge.status{
  color:#06255d;
  background:#bceeff;
}

.game-card-notes{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  min-height:1.2rem;
  margin:.25rem 0 .5rem;
  font-size:.73rem;
}

.game-card-notes span,
.game-card-notes strong{
  padding:.3rem .5rem;
  border-radius:999px;
  background:rgba(6,37,93,.09);
}

.game-card-notes strong{
  color:#8f145f;
  background:rgba(255,42,196,.12);
}

.catalogue-empty{
  margin-bottom:2rem;
}

@media(max-width:800px){
  .catalogue-filterbar{
    position:static;
  }

  .catalogue-section-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:1rem;
  }
}


/* GameCrowd recruitment page v2.4 */
.gamecrowd-hero .container{
  align-items:center;
}

.gamecrowd-trust-line{
  margin-top:1rem;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  color:rgba(255,255,255,.74);
}

.section-head.centred{
  justify-content:center;
  text-align:center;
}

.section-head.centred > div{
  max-width:760px;
}

.gamecrowd-role-grid{
  align-items:stretch;
}

.gamecrowd-role-card{
  display:flex;
  flex-direction:column;
  padding:1.6rem;
  border:1px solid rgba(4,175,251,.2);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}

.gamecrowd-role-card ul{
  padding-left:1.1rem;
  margin:1rem 0 1.5rem;
}

.gamecrowd-role-card li{
  margin:.45rem 0;
}

.gamecrowd-role-card .btn{
  margin-top:auto;
  align-self:flex-start;
}

.gamecrowd-role-number{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  border-radius:50%;
  font-size:.78rem;
  font-weight:1000;
  color:#fff;
  background:#07275e;
}

.gamecrowd-process{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
}

.gamecrowd-process article{
  position:relative;
  min-height:210px;
  padding:1.35rem;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}

.gamecrowd-process article::after{
  content:"→";
  position:absolute;
  top:50%;
  right:-.8rem;
  z-index:2;
  font-size:1.5rem;
  color:#08b7ff;
}

.gamecrowd-process article:last-child::after{
  display:none;
}

.gamecrowd-process span{
  color:#60ddff;
  font-size:.74rem;
  font-weight:1000;
}

.gamecrowd-process h3{
  color:#fff;
}

.gamecrowd-process p{
  color:rgba(255,255,255,.78);
}

.gamecrowd-screenshot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}

.gamecrowd-screenshot-card{
  overflow:hidden;
  border:1px solid rgba(4,175,251,.18);
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 40px rgba(5,28,73,.08);
}

.gamecrowd-screenshot-media{
  position:relative;
  min-height:245px;
  overflow:hidden;
  background:#071b48;
}

.gamecrowd-screenshot-media img{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
}

.gamecrowd-screen-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:.6rem;
  padding:1.35rem;
  color:#fff;
  background:
    radial-gradient(circle at 80% 18%,rgba(0,190,255,.45),transparent 28%),
    linear-gradient(145deg,#06153b,#0b3a82);
}

.gamecrowd-screen-placeholder::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:15px;
}

.gamecrowd-screen-placeholder > *{
  position:relative;
  z-index:1;
}

.gamecrowd-screen-placeholder small{
  color:#5be2ff;
  font-weight:1000;
  letter-spacing:.11em;
}

.gamecrowd-screen-placeholder strong{
  font-size:1.45rem;
  line-height:1.05;
}

.gamecrowd-screen-placeholder em{
  color:rgba(255,255,255,.65);
  font-size:.75rem;
}

.gamecrowd-screenshot-copy{
  padding:1.25rem;
}

.gamecrowd-audience-tag{
  display:inline-flex;
  padding:.32rem .55rem;
  border-radius:999px;
  color:#06255d;
  background:#bceeff;
  font-size:.66rem;
  font-weight:1000;
  text-transform:uppercase;
}

.gamecrowd-buyer-window{
  color:#fff;
}

.gamecrowd-buyer-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:2rem;
  align-items:center;
}

.gamecrowd-buyer-grid h2,
.gamecrowd-buyer-grid p,
.gamecrowd-benefit-grid h3,
.gamecrowd-benefit-grid p{
  color:#fff;
}

.gamecrowd-quantity-ladder{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
}

.gamecrowd-quantity-ladder article{
  padding:1.2rem .8rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.08);
}

.gamecrowd-quantity-ladder strong{
  display:block;
  font-size:1.65rem;
  color:#5be2ff;
}

.gamecrowd-quantity-ladder span{
  font-size:.76rem;
  font-weight:800;
}

.gamecrowd-benefit-grid{
  margin-top:1.5rem;
}

.gamecrowd-benefit-grid article{
  padding:1.3rem;
  border-radius:18px;
  background:rgba(255,255,255,.08);
}

.gamecrowd-comparison{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
  max-width:980px;
  margin:0 auto;
}

.gamecrowd-comparison article{
  padding:1.7rem;
  border-radius:22px;
}

.gamecrowd-comparison .negative{
  border:1px solid rgba(153,22,96,.2);
  background:#fff5fa;
}

.gamecrowd-comparison .positive{
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0b3b82);
}

.gamecrowd-comparison .positive h3,
.gamecrowd-comparison .positive li{
  color:#fff;
}

.gamecrowd-comparison article > span{
  font-size:.7rem;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gamecrowd-closing-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:2rem;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(135deg,#06163f,#0b3d86);
}

.gamecrowd-closing-panel h2,
.gamecrowd-closing-panel p{
  color:#fff;
}

@media(max-width:980px){
  .gamecrowd-process{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gamecrowd-process article::after{
    display:none;
  }

  .gamecrowd-screenshot-grid{
    grid-template-columns:1fr 1fr;
  }

  .gamecrowd-buyer-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .gamecrowd-process,
  .gamecrowd-screenshot-grid,
  .gamecrowd-comparison{
    grid-template-columns:1fr;
  }

  .gamecrowd-quantity-ladder{
    grid-template-columns:1fr 1fr;
  }

  .gamecrowd-closing-panel{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Services commercial page v2.5 */
.services-commercial-hero .hero-supporting-copy{
  margin-top:.7rem;
  color:rgba(255,255,255,.76);
}

.service-catalogue-section{
  margin-top:2.5rem;
}

.commercial-service-card{
  display:flex;
  flex-direction:column;
  min-height:370px;
}

.service-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
}

.service-category-badge{
  display:inline-flex;
  padding:.34rem .58rem;
  border-radius:999px;
  color:#06255d;
  background:#bceeff;
  font-size:.65rem;
  font-weight:1000;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.commercial-service-card .feature-icon{
  margin:0;
}

.service-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.8rem 0;
}

.service-card-meta span{
  display:inline-flex;
  padding:.35rem .55rem;
  border-radius:999px;
  background:rgba(6,37,93,.08);
  font-size:.72rem;
}

.service-card-outcome{
  padding:.75rem;
  border-left:3px solid #08b7ff;
  background:rgba(4,175,251,.07);
  font-size:.82rem;
}

.service-card-actions{
  display:flex;
  align-items:center;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:1rem;
}

.service-trust-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:2rem;
  align-items:center;
  padding:2rem;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}

.service-trust-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
}

.service-trust-facts article{
  padding:1rem;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}

.service-trust-facts strong,
.service-trust-facts span{
  display:block;
}

.service-trust-facts strong{
  color:#5be2ff;
  font-size:1.1rem;
}

.service-trust-facts span{
  margin-top:.3rem;
  color:rgba(255,255,255,.78);
  font-size:.76rem;
}

.service-process{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.service-fact-stacked{
  align-items:flex-start;
  flex-direction:column;
  gap:.35rem;
}

@media(max-width:900px){
  .service-trust-panel{
    grid-template-columns:1fr;
  }

  .service-process{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .service-trust-facts,
  .service-process{
    grid-template-columns:1fr;
  }
}


/* Service listing banner images v2.5.1 */
.commercial-service-card{
  overflow:hidden;
  padding:0;
}

.service-card-media{
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:2 / 1;
  overflow:hidden;
  background:#071b48;
}

.service-card-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .25s ease;
}

.service-card-media:hover img{
  transform:scale(1.02);
}

.service-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.2rem;
}

@media(max-width:720px){
  .service-card-media{
    aspect-ratio:16 / 9;
  }
}


/* GameCrowd Supplier Network v2.6 */
.supplier-route-grid{
  align-items:stretch;
}

.supplier-route-card{
  padding:1.8rem;
  border:1px solid rgba(4,175,251,.2);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}

.supplier-route-card ul{
  padding-left:1.1rem;
}

.supplier-route-card li{
  margin:.5rem 0;
}

.supplier-benefit-grid article{
  padding:1.25rem;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}

.supplier-benefit-grid strong,
.supplier-benefit-grid span{
  display:block;
}

.supplier-benefit-grid strong{
  color:#5be2ff;
  font-size:1.05rem;
}

.supplier-benefit-grid span{
  margin-top:.35rem;
  color:rgba(255,255,255,.78);
  font-size:.78rem;
}

.supplier-process{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.supplier-registration-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:1.4rem;
  align-items:start;
}

.supplier-capabilities-panel{
  position:sticky;
  top:90px;
  padding:1.5rem;
  border:1px solid rgba(4,175,251,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}

.supplier-capability-group{
  padding-top:1rem;
  margin-top:1rem;
  border-top:1px solid rgba(6,37,93,.1);
}

.supplier-capability-group h3{
  margin-bottom:.55rem;
  font-size:.95rem;
}

.supplier-privacy-summary{
  margin-top:1.4rem;
  padding:1rem;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}

.supplier-privacy-summary h3,
.supplier-privacy-summary p{
  color:#fff;
}

.supplier-registration-form{
  padding:0;
  overflow:hidden;
}

.supplier-form-section{
  padding:1.4rem;
  border-bottom:1px solid rgba(6,37,93,.1);
}

.supplier-form-section h2{
  margin-top:0;
  font-size:1.15rem;
}

.supplier-capability-fieldset{
  margin:1rem 0;
  padding:1rem;
  border:1px solid rgba(4,175,251,.2);
  border-radius:16px;
}

.supplier-capability-fieldset legend{
  padding:0 .45rem;
  font-weight:900;
  color:#06255d;
}

.form-help,
.form-privacy-note{
  color:#61708d;
  font-size:.78rem;
}

.form-consent{
  display:flex !important;
  align-items:flex-start;
  gap:.65rem;
  margin:.8rem 0;
}

.form-consent input{
  width:auto !important;
  margin-top:.18rem;
}

.form-consent.required{
  font-weight:700;
}

.supplier-submit{
  margin:1.4rem;
}

.supplier-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.supplier-success-state{
  margin-bottom:1.5rem;
}

.supplier-success-state h2{
  margin-top:0;
}

@media(max-width:980px){
  .supplier-registration-layout{
    grid-template-columns:1fr;
  }

  .supplier-capabilities-panel{
    position:static;
  }

  .supplier-process{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .supplier-process{
    grid-template-columns:1fr;
  }
}


/* Trade accounts foundation v2.7 */
.trade-benefit-grid article{
  padding:1.25rem;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}
.trade-benefit-grid strong,
.trade-benefit-grid span{
  display:block;
}
.trade-benefit-grid strong{
  color:#5be2ff;
  font-size:1.05rem;
}
.trade-benefit-grid span{
  margin-top:.35rem;
  color:rgba(255,255,255,.78);
  font-size:.8rem;
}
.trade-info-card{
  padding:1.6rem;
  border:1px solid rgba(4,175,251,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}
.trade-pricing-example{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.8rem;
  margin:1.2rem 0;
}
.trade-pricing-example div{
  padding:1rem;
  border-radius:16px;
  background:#eef7ff;
}
.trade-pricing-example span,
.trade-pricing-example strong{
  display:block;
}
.trade-pricing-example span{
  color:#5f6d88;
  font-size:.75rem;
}
.trade-pricing-example strong{
  margin-top:.25rem;
  color:#06255d;
}
.trade-location-list{
  display:grid;
  gap:.8rem;
  margin-top:1rem;
}
.trade-location{
  padding:1rem;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}
.trade-location strong,
.trade-location span,
.trade-location small{
  display:block;
}
.trade-location span{
  color:#5be2ff;
}
.trade-location small{
  margin-top:.3rem;
  color:rgba(255,255,255,.72);
}
.trade-process{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.trade-application-layout{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:1.4rem;
  align-items:start;
}
.trade-application-copy{
  position:sticky;
  top:90px;
  padding:1.5rem;
  border:1px solid rgba(4,175,251,.18);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
}
.trade-policy-box{
  margin-top:1.25rem;
  padding:1rem;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}
.trade-policy-box h3,
.trade-policy-box li{
  color:#fff;
}
.trade-policy-box ul{
  padding-left:1.1rem;
}
.trade-application-form{
  padding:0;
  overflow:hidden;
}
.trade-form-section{
  padding:1.4rem;
  border-bottom:1px solid rgba(6,37,93,.1);
}
.trade-form-section h2{
  margin-top:0;
  font-size:1.15rem;
}
.trade-submit{
  margin:1.4rem;
}
.trade-account-admin-form{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(6,37,93,.12);
}
.trade-success-state{
  margin-bottom:1.5rem;
}
@media(max-width:980px){
  .trade-application-layout{
    grid-template-columns:1fr;
  }
  .trade-application-copy{
    position:static;
  }
  .trade-process{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .trade-process,
  .trade-pricing-example{
    grid-template-columns:1fr;
  }
}


/* Trade ordering system v2.8 */
.trade-login-section{min-height:65vh;display:flex;align-items:center}
.trade-login-card{max-width:560px;margin:0 auto;padding:2rem}
.trade-account-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;border-radius:18px;color:#fff;background:linear-gradient(145deg,#06183f,#0a3475)}
.trade-account-bar strong,.trade-account-bar span{display:block}
.trade-account-bar span{color:#5be2ff}
.trade-location-selector{max-width:560px;margin-bottom:1.5rem}
.trade-product-card{display:flex;flex-direction:column;padding:1.15rem;border:1px solid rgba(4,175,251,.18);border-radius:20px;background:#fff;box-shadow:0 15px 35px rgba(5,28,73,.08)}
.trade-product-card img{width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:14px;margin-bottom:.9rem}
.trade-product-card h2{font-size:1.05rem;margin:.25rem 0}
.trade-product-card dl{display:grid;gap:.4rem;margin:1rem 0}
.trade-product-card dl div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(6,37,93,.08)}
.trade-product-card dt{color:#61708d}
.trade-product-card dd{font-weight:800;color:#06255d}
.trade-basket-table{display:grid;gap:.65rem;margin:1rem 0}
.trade-basket-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(4,175,251,.16);border-radius:16px;background:#fff}
.trade-basket-row span{display:block;color:#61708d;font-size:.78rem}
.trade-basket-summary{max-width:520px;margin:1rem 0;padding:1rem;border-radius:16px;background:#eef7ff}
.trade-order-confirmation{padding:2rem}
@media(max-width:760px){.trade-basket-row{grid-template-columns:1fr 1fr}.trade-account-bar{align-items:flex-start;flex-direction:column}}


/* Trade customer account area v2.9 */
.trade-customer-nav{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
  padding:.55rem;
  border-radius:18px;
  background:#06183f;
}
.trade-customer-nav a,
.trade-customer-nav button{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:.55rem .85rem;
  border:0;
  border-radius:12px;
  color:#fff;
  background:transparent;
  font:inherit;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.trade-customer-nav a:hover,
.trade-customer-nav a.active,
.trade-customer-nav button:hover{
  color:#06183f;
  background:#5be2ff;
}
.trade-customer-nav form{
  margin-left:auto;
}
.trade-account-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1rem 1.25rem;
  margin-bottom:1.25rem;
  border:1px solid rgba(4,175,251,.18);
  border-radius:18px;
  background:#eef7ff;
}
.trade-account-strip strong,
.trade-account-strip span{
  display:block;
}
.trade-account-strip span{
  color:#4f607f;
}
.trade-account-hero{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1.5rem;
  align-items:center;
  padding:1.6rem;
  margin-bottom:1.5rem;
  border-radius:24px;
  color:#fff;
  background:linear-gradient(145deg,#06183f,#0a3475);
}
.trade-account-hero h1,
.trade-account-hero p{
  color:#fff;
}
.trade-account-discount{
  min-width:190px;
  padding:1rem 1.25rem;
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.1);
}
.trade-account-discount span,
.trade-account-discount strong,
.trade-account-discount small{
  display:block;
}
.trade-account-discount strong{
  color:#5be2ff;
  font-size:2.2rem;
  line-height:1.1;
}
.trade-account-card{
  padding:1.25rem;
  border:1px solid rgba(4,175,251,.18);
  border-radius:20px;
  background:#fff;
  box-shadow:0 15px 35px rgba(5,28,73,.07);
}
.trade-account-card h2{
  margin:.25rem 0 .8rem;
  font-size:1.15rem;
}
.trade-account-card dl{
  display:grid;
  gap:.45rem;
}
.trade-account-card dl div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.45rem 0;
  border-bottom:1px solid rgba(6,37,93,.08);
}
.trade-account-card dt{
  color:#61708d;
}
.trade-account-card dd{
  text-align:right;
  font-weight:800;
  color:#06255d;
}
.trade-account-actions{
  display:grid;
  gap:.65rem;
}
.trade-account-addresses,
.trade-account-orders,
.trade-order-bottom,
.trade-order-items{
  margin-top:1.5rem;
}
.trade-order-list{
  display:grid;
  gap:.7rem;
}
.trade-order-list-row{
  display:grid;
  grid-template-columns:1.2fr .8fr 1fr;
  gap:1rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid rgba(4,175,251,.16);
  border-radius:16px;
  color:#06255d;
  background:#fff;
  text-decoration:none;
  box-shadow:0 10px 25px rgba(5,28,73,.05);
}
.trade-order-list-row:hover{
  transform:translateY(-1px);
  border-color:#04affb;
}
.trade-order-history-row{
  grid-template-columns:1.1fr 1.2fr 1fr .9fr;
}
.trade-order-list-row strong,
.trade-order-list-row span{
  display:block;
}
.trade-order-list-row span{
  color:#61708d;
  font-size:.82rem;
}
.trade-order-status{
  display:inline-flex !important;
  width:max-content;
  padding:.3rem .55rem;
  border-radius:999px;
  font-size:.72rem !important;
  font-weight:900;
  color:#06255d !important;
  background:#dff6ff;
}
.trade-order-status.large{
  padding:.5rem .8rem;
  font-size:.85rem !important;
}
.trade-order-status.status-paid,
.trade-order-status.status-completed,
.trade-order-status.status-dispatched{
  background:#ddf8e7;
  color:#0c6834 !important;
}
.trade-order-status.status-cancelled{
  background:#ffe3e3;
  color:#8f1c1c !important;
}
.trade-order-totals .grand-total{
  margin-top:.3rem;
  padding-top:.8rem;
  border-top:2px solid #06255d;
  border-bottom:0;
}
@media(max-width:900px){
  .trade-account-hero,
  .trade-order-list-row,
  .trade-order-history-row{
    grid-template-columns:1fr;
  }
  .trade-account-discount{
    min-width:0;
  }
}
@media(max-width:640px){
  .trade-customer-nav{
    align-items:stretch;
  }
  .trade-customer-nav a,
  .trade-customer-nav form,
  .trade-customer-nav button{
    width:100%;
  }
  .trade-customer-nav form{
    margin-left:0;
  }
  .trade-account-strip{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Trade fulfilment operations v3.0 */
.trade-order-action-bar,
.trade-print-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin:1rem 0 1.5rem;
}
.trade-proforma-document{
  width:min(980px,calc(100% - 2rem));
  margin:0 auto 3rem;
  padding:2rem;
  color:#101828;
  background:#fff;
  box-shadow:0 20px 60px rgba(5,28,73,.12);
}
.trade-proforma-document header,
.trade-proforma-addresses{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:2rem;
}
.trade-proforma-meta{
  text-align:right;
}
.trade-proforma-table{
  width:100%;
  margin:2rem 0;
  border-collapse:collapse;
}
.trade-proforma-table th,
.trade-proforma-table td{
  padding:.7rem;
  border:1px solid #d8e1ef;
  text-align:left;
  vertical-align:top;
}
.trade-proforma-table th{
  color:#fff;
  background:#06255d;
}
.trade-proforma-totals{
  display:flex;
  justify-content:flex-end;
}
.trade-proforma-totals dl{
  width:min(420px,100%);
}
.trade-proforma-totals dl div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.45rem 0;
  border-bottom:1px solid #d8e1ef;
}
.trade-proforma-totals .grand{
  font-size:1.15rem;
  font-weight:900;
  border-top:2px solid #06255d;
}
.trade-proforma-payment{
  margin-top:2rem;
  padding:1rem;
  border-radius:14px;
  background:#eef7ff;
}
.trade-proforma-document footer{
  margin-top:2rem;
  padding-top:1rem;
  border-top:1px solid #d8e1ef;
  font-size:.85rem;
}
@media(max-width:760px){
  .trade-proforma-document header,
  .trade-proforma-addresses{
    grid-template-columns:1fr;
  }
  .trade-proforma-meta{
    text-align:left;
  }
  .trade-proforma-table{
    font-size:.78rem;
  }
}
@media print{
  body{
    background:#fff !important;
  }
  body > header,
  body > footer,
  .trade-proforma-screen{
    display:none !important;
  }
  .trade-proforma-document{
    width:100%;
    margin:0;
    padding:0;
    box-shadow:none;
  }
  .trade-proforma-table{
    page-break-inside:auto;
  }
  .trade-proforma-table tr{
    page-break-inside:avoid;
  }
}


/* Trade customer self-service v3.2 */
.trade-settings-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);
  gap:1.5rem;
  align-items:start;
}
.trade-settings-layout aside{
  display:grid;
  gap:1.5rem;
}
.trade-settings-form{
  display:grid;
  gap:1rem;
}
.trade-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.trade-settings-wide{
  grid-column:1 / -1;
}
.trade-settings-form label{
  display:grid;
  gap:.4rem;
  font-weight:800;
  color:#06255d;
}
.trade-settings-form input,
.trade-settings-form textarea{
  width:100%;
}
.trade-settings-form small,
.trade-settings-section .form-help{
  color:#65748d;
  font-weight:400;
}
.trade-password-card{
  margin-top:0;
}
.trade-settings-section .notice ul{
  margin:.55rem 0 0 1.1rem;
}
@media(max-width:900px){
  .trade-settings-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .trade-settings-grid{
    grid-template-columns:1fr;
  }
  .trade-settings-wide{
    grid-column:auto;
  }
}


/* Blue Donut Studios legal supplier invoice branding v3.4 */
.trade-legal-invoice{
  border-top:7px solid #06183f;
}
.trade-invoice-header{
  grid-template-columns:145px minmax(0,1fr) 250px !important;
  align-items:start;
  padding-bottom:1.5rem;
  border-bottom:4px solid #087fbd;
}
.trade-invoice-supplier-logo img{
  display:block;
  width:120px;
  height:auto;
}
.trade-invoice-supplier-logo strong{
  display:block;
  max-width:135px;
  margin-top:.55rem;
  color:#06255d;
  font-size:.76rem;
  line-height:1.35;
}
.trade-invoice-supplier-details h1,
.trade-proforma-meta h2{
  margin:0 0 .55rem;
  color:#06255d;
}
.trade-invoice-supplier-details p{
  margin:.2rem 0;
}
.trade-proforma-meta{
  padding:1rem;
  border:1px solid #d8e1ef;
  background:#f7faff;
}
.trade-proforma-meta > strong{
  display:block;
  margin:0 -1rem 1rem;
  padding:.65rem 1rem;
  color:#06255d;
  background:#eef7ff;
  font-size:1.15rem;
}
.trade-proforma-meta dl{
  margin:0;
}
.trade-proforma-meta dl div{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.22rem 0;
}
.trade-proforma-addresses{
  margin-top:1rem;
}
.trade-proforma-addresses > div{
  padding:1.1rem;
  border:1px solid #d8e1ef;
}
.trade-proforma-addresses h2,
.trade-invoice-important h2,
.trade-invoice-footer-panel h2{
  margin:0 0 .65rem;
  color:#06255d;
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.trade-proforma-table small{
  display:block;
  margin-top:.25rem;
  color:#617087;
}
.trade-invoice-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);
  gap:2rem;
  align-items:start;
}
.trade-invoice-important{
  padding:1rem 1.1rem;
  border:1px solid #cfdbe7;
  border-radius:10px;
  background:#fff;
}
.trade-invoice-important p{
  margin:.45rem 0;
}
.trade-invoice-footer-panel{
  display:grid;
  grid-template-columns:1fr 1fr 1.25fr;
  gap:1.25rem;
  margin-top:2rem;
  padding:1.25rem;
  border:1px solid #c7d8e6;
  border-radius:12px;
  background:#eef7ff;
}
.trade-invoice-footer-panel p{
  margin:.2rem 0;
  font-size:.86rem;
}
.trade-invoice-brand-note{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:.8rem;
  align-items:center;
  padding:.7rem;
  border:1px solid #b6ccdf;
  border-radius:9px;
  background:#fff;
}
.trade-invoice-brand-note img{
  display:block;
  width:72px;
  height:auto;
}
.trade-proforma-document footer{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin:1.5rem -2rem -2rem;
  padding:1rem 2rem;
  color:#fff;
  border:0;
  background:#06183f;
}
@media(max-width:860px){
  .trade-invoice-header,
  .trade-invoice-summary,
  .trade-invoice-footer-panel{
    grid-template-columns:1fr !important;
  }
  .trade-proforma-meta{
    text-align:left;
  }
}
@media print{
  .trade-legal-invoice{
    border-top:0;
  }
  .trade-proforma-document footer{
    margin:1rem 0 0;
  }
}


/* Trade Communications v3.6 */
.trade-nav-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:5px;
  padding:0 6px;
  border-radius:999px;
  color:#fff;
  background:#ef3f78;
  font-size:.7rem;
  font-weight:900;
}

.trade-communications-section{
  min-height:70vh;
}

.trade-communications-grid{
  display:grid;
  grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);
  gap:1.5rem;
  align-items:start;
}

.trade-message-compose,
.trade-message-inbox,
.trade-chat-reply{
  padding:1.5rem;
  border:1px solid #d7e3ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(4,38,99,.08);
}

.trade-message-compose h2,
.trade-message-inbox h2,
.trade-chat-reply h2{
  margin:.3rem 0 1rem;
  color:#05275f;
}

.trade-message-compose form,
.trade-chat-reply form{
  display:grid;
  gap:1rem;
}

.trade-message-compose label,
.trade-chat-reply label{
  display:grid;
  gap:.45rem;
}

.trade-message-compose label > span,
.trade-chat-reply label > span{
  color:#05275f;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.trade-message-compose input,
.trade-message-compose select,
.trade-message-compose textarea,
.trade-chat-reply textarea{
  width:100%;
  padding:.8rem .9rem;
  border:1px solid #bed0e1;
  border-radius:11px;
  color:#152842;
  background:#fff;
  font:inherit;
  outline:none;
}

.trade-message-compose textarea,
.trade-chat-reply textarea{
  resize:vertical;
}

.trade-message-compose input:focus,
.trade-message-compose select:focus,
.trade-message-compose textarea:focus,
.trade-chat-reply textarea:focus{
  border-color:#00a9d8;
  box-shadow:0 0 0 3px rgba(0,169,216,.13);
}

.trade-message-inbox-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.trade-message-inbox-head > span{
  display:grid;
  place-items:center;
  min-width:42px;
  height:42px;
  border-radius:13px;
  color:#05275f;
  background:#e9f7ff;
  font-size:1.1rem;
  font-weight:900;
}

.trade-conversation-list{
  display:grid;
  gap:.75rem;
}

.trade-conversation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  padding:1rem;
  border:1px solid #dde7f0;
  border-radius:14px;
  color:inherit;
  background:#fbfdff;
  text-decoration:none;
  transition:.18s ease;
}

.trade-conversation-row:hover{
  transform:translateY(-1px);
  border-color:#8ccae4;
  box-shadow:0 10px 24px rgba(4,38,99,.08);
}

.trade-conversation-row.is-unread{
  border-left:5px solid #ef3f78;
  background:#fff8fc;
}

.trade-conversation-row-main > div{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:.45rem;
}

.trade-conversation-row-main strong{
  display:block;
  color:#05275f;
  font-size:1rem;
}

.trade-conversation-row-main p{
  margin:.45rem 0 0;
  color:#5d6c81;
  font-size:.87rem;
  line-height:1.5;
}

.trade-conversation-category,
.trade-notice-priority,
.trade-unread-marker,
.trade-conversation-status{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.trade-conversation-category{
  color:#07587d;
  background:#dff5ff;
}

.trade-unread-marker{
  color:#850044;
  background:#ffddec;
}

.trade-conversation-status.status-open{
  color:#075d2e;
  background:#dcf8e7;
}

.trade-conversation-status.status-closed{
  color:#4c5667;
  background:#e7ebef;
}

.trade-conversation-row-meta{
  display:grid;
  justify-items:end;
  align-content:start;
  gap:.45rem;
  min-width:130px;
  color:#6a788a;
  font-size:.75rem;
}

.trade-conversation-row-meta small,
.trade-conversation-row-meta time{
  display:block;
}

.trade-conversation-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
  margin:1.2rem 0 1.4rem;
  padding:1.4rem;
  border:1px solid #d8e4ef;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#eef9ff);
}

.trade-conversation-header-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.trade-conversation-header h1{
  margin:.65rem 0 .25rem;
  color:#05275f;
}

.trade-conversation-header p{
  margin:0;
  color:#6a788a;
}

.trade-linked-order{
  min-width:220px;
  padding:1rem;
  border:1px solid #cbdde9;
  border-radius:14px;
  color:#05275f;
  background:#fff;
  text-decoration:none;
}

.trade-linked-order span,
.trade-linked-order strong,
.trade-linked-order small{
  display:block;
}

.trade-linked-order span{
  color:#687789;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

.trade-linked-order strong{
  margin:.3rem 0;
}

.trade-linked-order small{
  color:#087fb7;
}

.trade-chat-thread{
  display:grid;
  gap:1rem;
  margin-bottom:1.4rem;
  padding:1.3rem;
  border:1px solid #d8e4ef;
  border-radius:20px;
  background:#f5f8fb;
}

.trade-chat-message{
  width:min(82%,720px);
  padding:1rem 1.1rem;
  border-radius:17px;
  box-shadow:0 8px 22px rgba(4,38,99,.07);
}

.trade-chat-message.from-customer{
  justify-self:end;
  color:#fff;
  background:#06306f;
  border-bottom-right-radius:5px;
}

.trade-chat-message.from-admin{
  justify-self:start;
  color:#21324b;
  background:#fff;
  border:1px solid #dbe6ef;
  border-bottom-left-radius:5px;
}

.trade-chat-message header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.6rem;
  font-size:.76rem;
}

.trade-chat-message.from-customer header{
  color:#bfeaff;
}

.trade-chat-message.from-admin header{
  color:#687789;
}

.trade-chat-message p{
  margin:0;
  line-height:1.65;
}

.trade-notice-list{
  display:grid;
  gap:1rem;
}

.trade-system-notice{
  padding:1.4rem;
  border:1px solid #d9e4ee;
  border-left:6px solid #2d8ac8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(4,38,99,.07);
}

.trade-system-notice.priority-important{
  border-left-color:#f2a900;
  background:#fffcf3;
}

.trade-system-notice.priority-urgent{
  border-left-color:#e6374c;
  background:#fff7f8;
}

.trade-system-notice.is-unread{
  box-shadow:0 12px 30px rgba(4,38,99,.13);
}

.trade-system-notice header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.trade-system-notice header > div > span{
  margin-right:.35rem;
}

.trade-system-notice h2{
  margin:.7rem 0 0;
  color:#05275f;
}

.trade-system-notice header time{
  color:#6a788a;
  font-size:.78rem;
  white-space:nowrap;
}

.trade-notice-priority{
  color:#07587d;
  background:#dff5ff;
}

.priority-important .trade-notice-priority{
  color:#745000;
  background:#fff0b9;
}

.priority-urgent .trade-notice-priority{
  color:#83151e;
  background:#ffdce0;
}

.trade-notice-body{
  margin:1rem 0;
  color:#2d3e56;
  line-height:1.7;
}

.trade-system-notice footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:1rem;
  border-top:1px solid #e1e8ef;
  color:#6a788a;
  font-size:.78rem;
}

.trade-notice-read{
  color:#075d2e;
  font-weight:800;
}

.trade-account-notices{
  margin-top:2rem;
}

.trade-account-notice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.trade-account-notice-card{
  display:block;
  padding:1rem;
  border:1px solid #d8e4ef;
  border-top:5px solid #2d8ac8;
  border-radius:15px;
  color:inherit;
  background:#fff;
  text-decoration:none;
}

.trade-account-notice-card.priority-important{
  border-top-color:#f2a900;
}

.trade-account-notice-card.priority-urgent{
  border-top-color:#e6374c;
}

.trade-account-notice-card.is-unread{
  background:#fff8fc;
}

.trade-account-notice-card span{
  color:#087fb7;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}

.trade-account-notice-card strong{
  display:block;
  margin:.45rem 0;
  color:#05275f;
}

.trade-account-notice-card p{
  margin:0;
  color:#637287;
  font-size:.85rem;
  line-height:1.5;
}

@media(max-width:960px){
  .trade-communications-grid{
    grid-template-columns:1fr;
  }

  .trade-account-notice-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .trade-conversation-row,
  .trade-conversation-header,
  .trade-system-notice header,
  .trade-system-notice footer{
    grid-template-columns:1fr;
    flex-direction:column;
  }

  .trade-conversation-row-meta{
    justify-items:start;
    min-width:0;
  }

  .trade-linked-order{
    width:100%;
    min-width:0;
  }

  .trade-chat-message{
    width:94%;
  }

  .trade-system-notice header time{
    white-space:normal;
  }
}

/* Trade account holds and Stripe payments v3.7 */
.trade-account-hold-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.4rem;
  margin:0 0 1.5rem;
  padding:1.25rem 1.4rem;
  border:1px solid #f2b4bf;
  border-left:7px solid #d72e4b;
  border-radius:18px;
  color:#4b1e29;
  background:linear-gradient(135deg,#fff7f8,#fff);
  box-shadow:0 12px 30px rgba(120,20,44,.08);
}

.trade-account-hold-banner.compact{
  padding:1rem 1.2rem;
}

.trade-account-hold-banner h2{
  margin:.35rem 0 .35rem;
  color:#7b1830;
}

.trade-account-hold-banner p{
  margin:0;
  line-height:1.55;
}

.trade-account-hold-banner small{
  color:#7b5360;
  white-space:nowrap;
}

.trade-ordering-disabled .trade-product-card input{
  opacity:.55;
  pointer-events:none;
}

.trade-order-action-bar form,
.trade-payment-invoice-actions form,
.trade-balance-summary-card form{
  margin:0;
}

.trade-payments-section,
.trade-payment-success-section{
  min-height:72vh;
}

.trade-balance-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:1rem 0 2rem;
}

.trade-balance-summary-card{
  padding:1.25rem;
  border:1px solid #d5e2ee;
  border-top:6px solid #f4a900;
  border-radius:17px;
  background:#fffdf7;
  box-shadow:0 12px 30px rgba(4,38,99,.07);
}

.trade-balance-summary-card > span,
.trade-balance-summary-card > strong,
.trade-balance-summary-card > p,
.trade-balance-summary-card > small{
  display:block;
}

.trade-balance-summary-card > span{
  color:#765000;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.trade-balance-summary-card > strong{
  margin:.55rem 0 .25rem;
  color:#05275f;
  font-size:2rem;
}

.trade-balance-summary-card > p{
  margin:0 0 .35rem;
  color:#55667d;
}

.trade-balance-summary-card > small{
  margin-bottom:1rem;
  color:#6d7b8d;
}

.trade-payment-clear-state,
.trade-payment-success-card,
.trade-payment-pending-card{
  display:flex;
  align-items:center;
  gap:1.25rem;
  margin:1.25rem 0 2rem;
  padding:1.5rem;
  border:1px solid #bfe4d0;
  border-radius:20px;
  background:#f3fff8;
  box-shadow:0 14px 34px rgba(16,105,58,.08);
}

.trade-payment-clear-state > span,
.trade-payment-success-icon,
.trade-payment-pending-card > span{
  display:grid;
  place-items:center;
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:50%;
  color:#fff;
  background:#11834b;
  font-size:1.8rem;
  font-weight:900;
}

.trade-payment-pending-card{
  border-color:#c8d8e8;
  background:#f7fbff;
}

.trade-payment-pending-card > span{
  background:#315d98;
}

.trade-payment-clear-state h2,
.trade-payment-success-card h1,
.trade-payment-pending-card h1{
  margin:.25rem 0 .45rem;
  color:#05275f;
}

.trade-payment-clear-state p,
.trade-payment-success-card p,
.trade-payment-pending-card p{
  margin:.25rem 0;
  line-height:1.6;
}

.trade-outstanding-invoices,
.trade-payment-history,
.trade-payment-confirmation-details{
  margin-top:2rem;
}

.trade-payment-invoice-list,
.trade-payment-session-list,
.trade-payment-allocation-list{
  display:grid;
  gap:.8rem;
}

.trade-payment-invoice-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:1rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid #dce6ef;
  border-radius:15px;
  background:#fff;
}

.trade-payment-invoice-row > div:first-child span,
.trade-payment-invoice-row > div:first-child strong,
.trade-payment-invoice-row > div:first-child small{
  display:block;
}

.trade-payment-invoice-row > div:first-child span{
  color:#087fb7;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}

.trade-payment-invoice-row > div:first-child strong{
  margin:.25rem 0;
  color:#05275f;
}

.trade-payment-invoice-row > div:first-child small{
  color:#6a788a;
}

.trade-payment-invoice-amount{
  display:grid;
  justify-items:end;
  gap:.4rem;
  min-width:145px;
}

.trade-payment-invoice-amount > strong{
  color:#05275f;
  font-size:1.18rem;
}

.trade-payment-invoice-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
}

.trade-payment-session-list article,
.trade-payment-allocation-list a,
.trade-payment-allocation-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border:1px solid #dce6ef;
  border-radius:14px;
  color:inherit;
  background:#fbfdff;
  text-decoration:none;
}

.trade-payment-session-list article > div,
.trade-payment-allocation-list a > div,
.trade-payment-allocation-row > div{
  min-width:0;
}

.trade-payment-session-list strong,
.trade-payment-session-list p,
.trade-payment-session-list small,
.trade-payment-allocation-list strong,
.trade-payment-allocation-list span,
.trade-payment-allocation-row strong,
.trade-payment-allocation-row span{
  display:block;
}

.trade-payment-session-list p{
  margin:.25rem 0 0;
  color:#637287;
}

.trade-payment-session-list article > div:last-child{
  text-align:right;
}

.trade-payment-session-list article > div:last-child strong{
  color:#05275f;
}

.trade-payment-session-list small{
  margin:.2rem 0;
  color:#6a788a;
}

.trade-payment-status{
  display:inline-flex!important;
  width:max-content;
  margin-bottom:.45rem;
  padding:5px 9px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.trade-payment-status.status-open,
.status-open.trade-payment-status{
  color:#745000;
  background:#fff1bf;
}

.trade-payment-status.status-paid,
.status-paid.trade-payment-status{
  color:#075d2e;
  background:#dcf8e7;
}

.trade-payment-status.status-failed,
.trade-payment-status.status-cancelled,
.trade-payment-status.status-expired{
  color:#83151e;
  background:#ffe1e4;
}

.trade-payment-status.status-creating{
  color:#07587d;
  background:#dff5ff;
}

.trade-payment-security-note{
  margin-top:2rem;
  padding:1rem 1.2rem;
  border:1px solid #d7e4ef;
  border-radius:14px;
  color:#4d6078;
  background:#f7fbff;
}

.trade-payment-security-note strong{
  display:block;
  margin-bottom:.3rem;
  color:#05275f;
}

.trade-payment-security-note p{
  margin:0;
  line-height:1.55;
}

.trade-payment-confirmation-details{
  padding:1.25rem;
  border:1px solid #d7e3ed;
  border-radius:18px;
  background:#fff;
}

.trade-payment-allocation-list a:hover{
  border-color:#80c7e6;
}

.trade-payment-allocation-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
}

.trade-payment-allocation-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
}

.trade-paid-invoice-summary{
  margin-top:1rem;
}

@media(max-width:900px){
  .trade-balance-summary-grid{
    grid-template-columns:1fr;
  }

  .trade-payment-invoice-row{
    grid-template-columns:1fr;
  }

  .trade-payment-invoice-amount{
    justify-items:start;
  }

  .trade-payment-invoice-actions{
    justify-content:flex-start;
  }
}

@media(max-width:680px){
  .trade-account-hold-banner,
  .trade-payment-clear-state,
  .trade-payment-success-card,
  .trade-payment-pending-card,
  .trade-payment-session-list article,
  .trade-payment-allocation-list a,
  .trade-payment-allocation-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .trade-account-hold-banner small{
    white-space:normal;
  }

  .trade-payment-session-list article > div:last-child{
    text-align:left;
  }

  .trade-payment-allocation-actions{
    justify-content:flex-start;
  }
}


.trade-payment-clear-state.needs-review{
  border-color:#f0c36c;
  background:#fffaf0;
}

.trade-payment-clear-state.needs-review > span{
  color:#745000;
  background:#fff0b9;
}


/* Account payment terms and normal Stripe payment flow v3.7.3 */
.trade-payment-terms-banner{
  margin-bottom:1rem;
  padding:1.1rem 1.25rem;
  border:1px solid #c9dceb;
  border-left:6px solid #2d8ac8;
  border-radius:16px;
  background:#f7fbff;
}

.trade-payment-terms-banner.terms-stripe{
  border-left-color:#635bff;
  background:#f7f6ff;
}

.trade-payment-terms-banner.terms-prepaid{
  border-left-color:#f2a900;
  background:#fffaf0;
}

.trade-payment-terms-banner h2{
  margin:.3rem 0 .4rem;
  color:#05275f;
}

.trade-payment-terms-banner p{
  margin:0;
  color:#506078;
  line-height:1.6;
}

.trade-order-payment-next-step{
  margin:1rem 0;
  padding:1rem;
  border:1px solid #d4e3ee;
  border-radius:13px;
  background:#f7fbff;
}

.trade-order-payment-next-step strong{
  display:block;
  color:#05275f;
}

.trade-order-payment-next-step p{
  margin:.4rem 0 0;
}

/* Trade basket pricing clarity v3.7.6 */
.trade-basket-head p{max-width:720px;color:#60708a}
.trade-pricing-strip{grid-template-columns:1fr 1fr;gap:1rem}
.trade-pricing-strip>div{min-width:0}
.trade-pricing-strip span{line-height:1.45}
.trade-basket-pricing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.trade-basket-pricing-summary article{padding:1.1rem;border:1px solid #d9e6f0;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(4,38,99,.06)}
.trade-basket-pricing-summary article.saving{border-top:5px solid #ef3f78;background:#fff8fc}
.trade-basket-pricing-summary span,.trade-basket-pricing-summary small{display:block}
.trade-basket-pricing-summary span{color:#05275f;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.trade-basket-pricing-summary strong{display:block;margin:.45rem 0;color:#05275f;font-size:1.55rem;line-height:1.1}
.trade-basket-pricing-summary small{color:#637287;line-height:1.45}
.trade-basket-table-detailed{gap:.55rem}
.trade-basket-table-detailed .trade-basket-row,.trade-order-items .trade-basket-row,.admin-panel .trade-basket-row{grid-template-columns:1.45fr .82fr .9fr .9fr .9fr .9fr}
.trade-basket-row-heading{padding:.65rem 1rem;color:#60708a;background:#eef6ff;border-color:#d8e7f3;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.trade-basket-line-detailed strong{display:block;color:#05275f}
.trade-basket-line-detailed small{display:block;margin-top:.35rem;color:#087fb7;font-size:.74rem;font-weight:800}
.trade-basket-line-detailed div:nth-child(5) strong{color:#a50055}
.trade-basket-line-detailed div:nth-child(6) strong{font-size:1.05rem}
.trade-basket-summary-detailed{max-width:none;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr);gap:1rem;align-items:start;background:#f4faff;border:1px solid #dbeaf5}
.trade-basket-summary-detailed dl{margin:0;display:grid;gap:.5rem}
.trade-basket-summary-detailed dl div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid #d8e7f3}
.trade-basket-summary-detailed dl div:last-child{border-bottom:0}
.trade-basket-summary-detailed dt{color:#60708a;font-weight:800}
.trade-basket-summary-detailed dd{margin:0;color:#05275f;font-weight:900}
.trade-basket-summary-detailed .grand-total dd{font-size:1.15rem}
.trade-basket-summary-detailed .form-help{grid-column:1/-1;margin:.2rem 0 0;color:#5f6f88}
.trade-order-notes{display:grid;gap:.45rem;margin:1rem 0;max-width:720px}
.trade-order-notes span{color:#05275f;font-size:.76rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.trade-order-notes textarea{width:100%;padding:.85rem;border:1px solid #bed0e1;border-radius:12px;font:inherit;resize:vertical}
.trade-product-saving{margin:.5rem 0 .75rem;padding:.45rem .6rem;border-radius:999px;color:#075d2e;background:#dcf8e7;font-size:.76rem;font-weight:900;text-align:center}
.trade-product-saving.no-discount{color:#5f4b00;background:#fff1bf}
.trade-confirmation-totals{margin:1rem 0;padding:1rem;border:1px solid #d8e7f3;border-radius:16px;background:#fff}
.trade-confirmation-totals p{margin:.35rem 0!important}
@media(max-width:980px){
  .trade-basket-pricing-summary{grid-template-columns:1fr}
  .trade-pricing-strip{grid-template-columns:1fr}
  .trade-basket-table-detailed .trade-basket-row,.trade-order-items .trade-basket-row,.admin-panel .trade-basket-row{grid-template-columns:1fr 1fr}
  .trade-basket-row-heading{display:none}
  .trade-basket-summary-detailed{grid-template-columns:1fr}
}

/* Trade basket workspace v3.7.11 */
.trade-basket-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: end;
  margin: 1.1rem 0;
  padding: 1rem;
  border: 1px solid #dbeaf5;
  border-radius: 18px;
  background: #f7fbff;
}
.trade-basket-search label span,
.trade-quantity-editor label span {
  display: block;
  margin-bottom: .3rem;
  color: #05275f;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.trade-basket-search input,
.trade-quantity-editor input {
  width: 100%;
  padding: .68rem .75rem;
  border: 1px solid #cbdbea;
  border-radius: 12px;
  background: #fff;
  color: #05275f;
  font: inherit;
}
.trade-quantity-editor {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  align-items: end;
}
.trade-quantity-editor small {
  grid-column: 1 / -1;
  color: #61708d;
  font-weight: 700;
}
.trade-quantity-editor.compact {
  min-width: 220px;
}
.trade-next-break {
  margin-top: .55rem;
  padding: .65rem;
  border: 1px solid #bfe5ff;
  border-radius: 12px;
  background: #eef9ff;
}
.trade-next-break strong,
.trade-next-break span {
  display: block;
}
.trade-next-break strong {
  color: #05275f;
  font-size: .8rem;
}
.trade-next-break span {
  margin-top: .25rem;
  color: #087fb7;
  font-size: .74rem;
  font-weight: 800;
}
.trade-next-break.unlocked {
  border-color: #bfe9d1;
  background: #f1fff7;
}
.trade-basket-add-products {
  margin: 1.25rem 0;
  padding: 1rem;
  border: 1px solid #dbeaf5;
  border-radius: 20px;
  background: #fff;
}
.section-head.compact {
  margin-bottom: .75rem;
}
.section-head.compact h2 {
  margin: .15rem 0;
}
.trade-basket-suggestions {
  display: grid;
  gap: .85rem;
}
.trade-basket-suggestion-card {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  padding: .9rem;
  border: 1px solid #e0ebf4;
  border-radius: 16px;
  background: #f9fcff;
}
.trade-basket-suggestion-media {
  width: 84px;
  min-height: 84px;
  border-radius: 12px;
  background: #eef6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #05275f;
  font-weight: 1000;
  font-size: 1.6rem;
}
.trade-basket-suggestion-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trade-basket-suggestion-details {
  min-width: 0;
}
.trade-basket-suggestion-card h3 {
  margin: 0 0 .25rem;
  color: #05275f;
}
.trade-basket-suggestion-card p {
  margin: 0 0 .5rem;
  color: #61708d;
}
.trade-basket-suggestion-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin: 0;
}
.trade-basket-suggestion-card dt {
  color: #61708d;
  font-size: .7rem;
  font-weight: 900;
  text-transform: uppercase;
}
.trade-basket-suggestion-card dd {
  margin: 0;
  color: #05275f;
  font-weight: 900;
}
.trade-basket-actions {
  margin: 1rem 0;
}
.trade-submit-order-form {
  margin-top: 1rem;
}
@media (max-width: 980px) {
  .trade-basket-search,
  .trade-basket-suggestion-card {
    grid-template-columns: 1fr;
  }
  .trade-basket-suggestion-media {
    width: 100%;
    height: 140px;
  }
  .trade-basket-suggestion-media img {
    width: 100%;
    height: 100%;
    max-height: 180px;
    object-fit: cover;
  }
  .trade-basket-suggestion-card dl {
    grid-template-columns: 1fr 1fr;
  }
  .trade-quantity-editor.compact {
    min-width: 0;
  }
}
@media (max-width: 620px) {
  .trade-quantity-editor,
  .trade-basket-suggestion-card dl {
    grid-template-columns: 1fr;
  }
}


.trade-save-basket-panel,
.trade-saved-basket-card {
  margin: 1.5rem 0;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid #dce7f4;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(4,38,99,.08);
}

.trade-save-basket-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
  gap: 1.25rem;
  align-items: start;
}

.trade-save-basket-form {
  display: grid;
  gap: .85rem;
}

.trade-save-basket-form input,
.trade-save-basket-form select,
.trade-save-basket-form textarea {
  width: 100%;
}

.trade-saved-basket-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}

.trade-saved-basket-grid {
  display: grid;
  gap: 1rem;
}

.trade-saved-basket-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.trade-saved-basket-card h3 {
  margin: .25rem 0;
  color: #042663;
}

.trade-saved-basket-meta {
  text-align: right;
  min-width: 120px;
}

.trade-saved-basket-meta strong,
.trade-saved-basket-meta span,
.trade-saved-basket-meta small {
  display: block;
}

.trade-saved-basket-items {
  margin: 1rem 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .65rem;
}

.trade-saved-basket-items li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem .75rem;
  border-radius: 14px;
  background: #f7fbff;
}

.trade-saved-basket-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
}

.trade-saved-basket-actions form {
  margin: 0;
}

@media (max-width: 850px) {
  .trade-save-basket-panel,
  .trade-saved-basket-layout {
    grid-template-columns: 1fr;
  }

  .trade-saved-basket-card-head,
  .trade-saved-basket-items li {
    flex-direction: column;
  }

  .trade-saved-basket-meta {
    text-align: left;
  }
}

.trade-basket-recommendations{
  margin:1.5rem 0;
  padding:1rem;
  border:1px solid #dce7f4;
  border-radius:24px;
  background:#f7fbff;
}
.trade-basket-recommendation-card{
  border-color:#b9dcf4;
}
.trade-recommendation-type{
  display:inline-flex;
  margin-bottom:.5rem;
  padding:.3rem .6rem;
  border-radius:999px;
  color:#042663;
  background:#dff5ff;
  font-size:.72rem;
  font-weight:900;
}


.trade-basket-recommendation-card > .trade-basket-suggestion-details {
  min-width: 0;
}

.trade-basket-recommendation-card .trade-quantity-editor.compact {
  justify-self: stretch;
}


.trade-credit-note-list {
    margin-top: 1.5rem;
}



.trade-credit-settlement-list {
    margin-top: 1.5rem;
}


.trade-payment-linked-settlements {
    grid-column: 1 / -1;
    margin-top: 0.75rem;
    padding: 0.85rem;
    border: 1px solid rgba(6, 24, 63, 0.12);
    border-radius: 14px;
    background: rgba(6, 24, 63, 0.035);
    display: grid;
    gap: 0.65rem;
}

.trade-payment-linked-settlements > strong {
    font-size: 0.95rem;
}

.trade-payment-linked-settlements > div {
    display: grid;
    gap: 0.2rem;
}

.trade-payment-settlement-history {
    margin-top: 2rem;
}


.trade-forward-order-panel,
.trade-forward-order-notice {
    border: 1px solid rgba(6, 24, 63, 0.14);
    border-radius: 18px;
    padding: 1rem;
    background: rgba(6, 24, 63, 0.04);
    margin: 1rem 0;
}

.trade-forward-order-panel {
    display: grid;
    gap: 0.85rem;
}

.status-forward {
    background: rgba(6, 24, 63, 0.08);
}

/* v3.7.42 catalogue button icon UX */
.button-icon {
  width: 1.08em;
  height: 1.08em;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: -0.16em;
}
.btn .button-icon {
  margin-right: .15rem;
}
.btn span {
  display: inline-flex;
  align-items: center;
}
.trade-add-to-order-button {
  width: 100%;
  margin-top: .85rem;
}
.product-download-card .btn,
.download-resource-card .btn,
.product-card-actions .btn,
.product-public-buy-box .btn,
.trade-product-card .btn {
  gap: .5rem;
}

/* v3.7.44 Tabletopia Trade CTA */
.trade-tabletopia-panel{
  margin:.9rem 0;
  padding:.85rem;
  border:1px solid #cfe7f7;
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f1fbff);
  display:grid;
  gap:.65rem;
}
.trade-tabletopia-panel img{
  max-width:180px;
  width:100%;
  height:auto;
}
.trade-tabletopia-panel p{
  margin:0;
  color:#5d6b82;
  font-size:.92rem;
}
.trade-tabletopia-panel .btn{
  width:100%;
}

/* v3.7.46 Tabletopia Trade button alignment */
.trade-tabletopia-panel .tabletopia-inline-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:.55rem;
  line-height:1.05;
}
.trade-tabletopia-panel .tabletopia-inline-button img{
  width:auto;
  height:1.45rem;
  max-width:4.1rem;
  max-height:1.45rem;
  object-fit:contain;
  margin:0;
}

/* Games catalogue search and separate availability/category filters v3.8.11 */
.catalogue-search-panel{
  position:sticky;
  top:76px;
  z-index:12;
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto;
  align-items:end;
  gap:.85rem;
  padding:1rem;
  margin-bottom:.75rem;
  border:1px solid rgba(4,175,251,.15);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 30px rgba(5,28,73,.08);
  backdrop-filter:blur(10px);
}

.catalogue-search-field{
  display:grid;
  gap:.38rem;
  min-width:0;
  color:#08265e;
  font-weight:800;
  font-size:.86rem;
}

.catalogue-search-field span{
  display:block;
}

.catalogue-search-field input,
.catalogue-search-field select{
  width:100%;
  min-height:46px;
  border:1px solid rgba(8,38,94,.24);
  border-radius:11px;
  padding:.7rem .8rem;
  background:#fff;
  color:#071d4b;
  font:inherit;
  font-weight:600;
}

.catalogue-search-field input:focus,
.catalogue-search-field select:focus{
  border-color:#04affb;
  outline:3px solid rgba(4,175,251,.2);
  outline-offset:1px;
}

.catalogue-search-actions{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:46px;
}

.catalogue-search-actions .btn{
  min-height:46px;
  white-space:nowrap;
}

.catalogue-search-actions button:disabled{
  opacity:.48;
  cursor:not-allowed;
}

.catalogue-search-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 1.8rem;
  padding:0 .15rem;
}

.catalogue-search-summary p{
  margin:0;
}

.catalogue-search-summary [data-game-results-count]{
  color:#08265e;
  font-weight:850;
}

.catalogue-search-help{
  max-width:48rem;
  color:#5c6780;
  font-size:.92rem;
  text-align:right;
}

@media(max-width:980px){
  .catalogue-search-panel{
    position:relative;
    top:auto;
    grid-template-columns:1fr 1fr;
  }

  .catalogue-search-field--wide,
  .catalogue-search-actions{
    grid-column:1 / -1;
  }
}

@media(max-width:620px){
  .catalogue-search-panel{
    grid-template-columns:1fr;
  }

  .catalogue-search-field--wide,
  .catalogue-search-actions{
    grid-column:auto;
  }

  .catalogue-search-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .catalogue-search-summary{
    display:block;
  }

  .catalogue-search-help{
    margin-top:.45rem !important;
    text-align:left;
  }
}

/* Complete public downloads library v3.8.12 */
.downloads-library-stats{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1.15rem;
}

.downloads-library-stats span{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem .72rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:rgba(255,255,255,.84);
  background:rgba(3,24,62,.25);
  font-size:.82rem;
  font-weight:750;
}

.downloads-library-stats strong{
  color:#5edeff;
  font-size:1rem;
}

.downloads-search-panel{
  grid-template-columns:minmax(250px,1.8fr) repeat(3,minmax(145px,1fr)) auto;
}

.downloads-search-summary [data-download-results-count]{
  color:#08265e;
  font-weight:850;
}

.download-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.2rem;
}

.download-library-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:100%;
  overflow:hidden;
  border:1px solid #dce7f4;
  border-radius:22px;
  background:#fff;
  box-shadow:0 15px 38px rgba(4,38,99,.08);
}

.download-library-card[hidden]{
  display:none !important;
}

.download-library-card-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.2rem 1.25rem .3rem;
}

.download-library-file-mark{
  display:grid;
  place-items:center;
  flex:0 0 62px;
  width:62px;
  height:62px;
  border-radius:16px;
  color:#fff;
  background:linear-gradient(145deg,#042663,#087fb7);
  box-shadow:0 10px 24px rgba(4,38,99,.18);
  font-size:.78rem;
  font-weight:1000;
  letter-spacing:.08em;
}

.download-library-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.4rem;
}

.download-library-featured{
  display:inline-flex;
  padding:.35rem .6rem;
  border-radius:999px;
  color:#7f155b;
  background:#ffe0f4;
  font-size:.72rem;
  font-weight:900;
}

.download-library-card-content{
  flex:1;
  padding:.8rem 1.25rem 1rem;
}

.download-library-card h2{
  margin:0 0 .65rem;
  color:#042663;
  font-size:1.3rem;
  line-height:1.2;
}

.download-library-card-content > p{
  margin:0;
  color:#53627a;
  line-height:1.62;
}

.download-library-meta{
  display:grid;
  gap:.5rem;
  margin:1rem 0 0;
}

.download-library-meta div{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:.6rem;
  align-items:start;
}

.download-library-meta dt,
.download-library-meta dd{
  margin:0;
  font-size:.82rem;
}

.download-library-meta dt{
  color:#6a7688;
  font-weight:750;
}

.download-library-meta dd{
  min-width:0;
  color:#153462;
  font-weight:800;
}

.download-library-meta a{
  color:#087fb7;
  text-decoration:underline;
  text-underline-offset:2px;
}

.download-library-card-footer{
  padding:1rem 1.25rem 1.25rem;
  border-top:1px solid #e5edf6;
  background:#f8fbff;
}

.download-library-card-footer .btn{
  min-width:132px;
  justify-content:center;
}

.downloads-library-empty-state{
  max-width:780px;
  margin:0 auto;
  padding:2.5rem;
  border:1px solid #dce7f4;
  border-radius:24px;
  background:#fff;
  box-shadow:0 15px 38px rgba(4,38,99,.08);
  text-align:center;
}

.downloads-library-empty-state h2{
  color:#042663;
}

@media(max-width:1100px){
  .downloads-search-panel{
    position:relative;
    top:auto;
    grid-template-columns:1fr 1fr;
  }

  .downloads-search-panel .catalogue-search-field--wide,
  .downloads-search-panel .catalogue-search-actions{
    grid-column:1 / -1;
  }
}

@media(max-width:920px){
  .download-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .downloads-search-panel{
    grid-template-columns:1fr;
  }

  .downloads-search-panel .catalogue-search-field--wide,
  .downloads-search-panel .catalogue-search-actions{
    grid-column:auto;
  }

  .download-library-grid{
    grid-template-columns:1fr;
  }

  .download-library-card-heading{
    align-items:center;
  }

  .download-library-card-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .download-library-card-footer .btn{
    width:100%;
  }
}

/* Supplier Database full Pages CMS v3.8.13 */
.supplier-rich-copy > :first-child{
  margin-top:0;
}
.supplier-rich-copy > :last-child{
  margin-bottom:0;
}
.supplier-rich-copy ul,
.supplier-rich-copy ol{
  padding-left:1.2rem;
}
.supplier-section-image{
  display:block;
  width:100%;
  max-height:360px;
  object-fit:cover;
  border-radius:20px;
  box-shadow:0 16px 38px rgba(5,28,73,.12);
}
.supplier-route-image{
  margin-bottom:1.2rem;
  aspect-ratio:16 / 9;
}
.supplier-section-intro.has-image{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:1.5rem;
  align-items:center;
  margin-bottom:1.5rem;
}
.supplier-section-intro.has-image .section-head{
  margin-bottom:0;
}
.supplier-registration-heading{
  max-width:820px;
  margin-bottom:1.4rem;
}
.supplier-capabilities-image{
  margin-bottom:1.2rem;
  aspect-ratio:16 / 9;
}
.supplier-privacy-summary .supplier-rich-copy,
.supplier-privacy-summary .supplier-rich-copy p,
.supplier-privacy-summary .supplier-rich-copy li,
.supplier-privacy-summary .supplier-rich-copy a{
  color:#fff;
}

@media(max-width:820px){
  .supplier-section-intro.has-image{
    grid-template-columns:1fr;
  }
}

/* Supplier Database smarter presentation v3.8.16 */
.supplier-network-hero-smart{
  background:
    radial-gradient(circle at top right, rgba(91,226,255,.22), transparent 30%),
    linear-gradient(135deg, #06183f 0%, #0a2f74 54%, #0d4ca4 100%);
  color:#fff;
  overflow:hidden;
}
.supplier-network-hero-smart .breadcrumb,
.supplier-network-hero-smart .breadcrumb a,
.supplier-network-hero-smart .supplier-rich-copy,
.supplier-network-hero-smart .supplier-rich-copy p{
  color:rgba(255,255,255,.85);
}
.supplier-network-hero-smart .eyebrow{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
.supplier-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:2rem;
  align-items:center;
}
.supplier-hero-copy h1{
  max-width:13ch;
}
.supplier-hero-intro{
  max-width:60ch;
}
.supplier-hero-highlights{
  list-style:none;
  margin:1.4rem 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}
.supplier-hero-highlights li{
  position:relative;
  padding:.95rem 1rem .95rem 2.7rem;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-weight:800;
  color:#fff;
  box-shadow:0 14px 34px rgba(2,10,32,.18);
}
.supplier-hero-highlights li::before{
  content:'✓';
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  width:1.2rem;
  height:1.2rem;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#5be2ff;
  color:#06255d;
  font-size:.8rem;
  font-weight:1000;
}
.supplier-hero-cta{
  margin-top:1.5rem;
}
.supplier-hero-visual{
  position:relative;
}
.supplier-hero-image-frame{
  border-radius:32px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 54px rgba(2,10,32,.28);
}
.supplier-hero-image-frame img{
  display:block;
  width:100%;
  height:auto;
}
.supplier-hero-panel{
  position:relative;
  margin:-2rem 1rem 0 auto;
  max-width:420px;
  padding:1.15rem;
  border-radius:26px;
  background:rgba(255,255,255,.96);
  color:#06255d;
  box-shadow:0 18px 44px rgba(4,17,49,.24);
}
.supplier-hero-panel p{
  margin:.95rem 0 0;
  color:#4d607f;
  font-size:.92rem;
}
.supplier-hero-panel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
.supplier-hero-panel-grid article{
  padding:.9rem .8rem;
  border-radius:18px;
  background:linear-gradient(145deg,#eff8ff,#ffffff);
  border:1px solid rgba(4,175,251,.18);
}
.supplier-hero-panel-grid strong,
.supplier-hero-panel-grid span{
  display:block;
}
.supplier-hero-panel-grid strong{
  color:#06255d;
  font-size:1.2rem;
  line-height:1.1;
}
.supplier-hero-panel-grid span{
  margin-top:.25rem;
  color:#58708f;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.supplier-jump-section{
  padding-top:0;
}
.supplier-jump-nav{
  margin-top:-2.2rem;
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  padding:1rem;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(4,175,251,.18);
  box-shadow:0 18px 44px rgba(5,28,73,.09);
}
.supplier-jump-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75rem 1rem;
  border-radius:999px;
  background:#f0f8ff;
  border:1px solid #d6ebfb;
  color:#06255d;
  font-weight:900;
}
.supplier-route-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}
.supplier-route-card::before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:6px;
  background:linear-gradient(90deg,var(--donut),var(--cyan));
}
.supplier-route-card-manufacturer::before{
  background:linear-gradient(90deg,#ef9d1f,var(--donut));
}
.supplier-route-card-services::before{
  background:linear-gradient(90deg,var(--cyan),#1f6dff);
}
.supplier-route-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.supplier-route-card-head .eyebrow{
  margin:0;
}
.supplier-route-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#edf8ff;
  border:1px solid #d7ebfb;
  color:#06255d;
  padding:.35rem .7rem;
  font-size:.72rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.supplier-route-card h2{
  margin:0;
}
.supplier-route-card ul{
  margin:0;
}
.supplier-route-card .arrow-link{
  margin-top:auto;
}
.supplier-benefit-grid article{
  position:relative;
  padding:1.3rem 1.3rem 1.3rem 4.2rem;
  min-height:165px;
  box-shadow:0 18px 44px rgba(5,28,73,.12);
}
.supplier-benefit-count{
  position:absolute;
  left:1.1rem;
  top:1.15rem;
  width:2.1rem;
  height:2.1rem;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:.82rem;
  font-weight:1000;
}
.supplier-process article{
  position:relative;
  background:#fff;
  border:1px solid rgba(4,175,251,.18);
  border-radius:24px;
  box-shadow:0 18px 44px rgba(5,28,73,.08);
  padding:1.3rem;
}
.supplier-process article span{
  background:linear-gradient(145deg,#06255d,#0e4ea8);
}
.supplier-registration-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.supplier-registration-note{
  padding:1rem 1.15rem;
  border-radius:22px;
  background:linear-gradient(145deg,#f7fbff,#ffffff);
  border:1px solid rgba(4,175,251,.18);
  box-shadow:0 18px 38px rgba(5,28,73,.07);
}
.supplier-registration-note strong{
  display:block;
  color:#06255d;
  font-size:1rem;
}
.supplier-registration-note ul{
  margin:.7rem 0 0;
  padding-left:1.1rem;
}
.supplier-registration-note li{
  margin:.45rem 0;
  color:#526684;
}
.supplier-capabilities-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
}
.supplier-capability-group .tag-cloud span{
  background:#fff;
}
.supplier-registration-form{
  border-radius:26px;
  border:1px solid rgba(4,175,251,.18);
  box-shadow:0 20px 46px rgba(5,28,73,.09);
}
.supplier-form-section:first-of-type{
  background:linear-gradient(180deg,#fbfdff,#fff);
}
.supplier-submit{
  width:calc(100% - 2.8rem);
}
@media(max-width:980px){
  .supplier-hero-layout,
  .supplier-hero-highlights{
    grid-template-columns:1fr;
  }
  .supplier-hero-panel{
    margin:1rem 0 0;
    max-width:none;
  }
  .supplier-jump-nav{
    margin-top:-1.3rem;
  }
}
@media(max-width:720px){
  .supplier-route-card-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .supplier-hero-panel-grid{
    grid-template-columns:1fr;
  }
  .supplier-benefit-grid article{
    padding-left:1.3rem;
    min-height:auto;
  }
  .supplier-benefit-count{
    position:static;
    margin-bottom:.8rem;
  }
}

/* Supplier Database layout refinement v3.8.17 */
.supplier-network-hero-smart .container.supplier-hero-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:2.5rem;
}
.supplier-network-hero-smart{
  padding-bottom:4.1rem;
}
.supplier-hero-copy h1{
  max-width:10ch;
}
.supplier-hero-highlights{
  grid-template-columns:1fr;
  max-width:44rem;
  gap:.7rem;
}
.supplier-hero-highlights li{
  padding:.8rem 1rem .8rem 2.55rem;
  border-radius:16px;
  font-size:1rem;
  box-shadow:none;
}
.supplier-hero-visual{
  max-width:560px;
  width:100%;
  margin-left:auto;
}
.supplier-hero-image-frame{
  border-radius:28px;
}
.supplier-hero-panel,
.supplier-hero-panel-grid{
  display:none !important;
}
.supplier-jump-section{
  padding-bottom:2.25rem;
}
.supplier-jump-nav{
  margin-top:-1rem;
  gap:.65rem;
  padding:.9rem 1rem;
  border-radius:22px;
}
.supplier-jump-nav a{
  padding:.72rem .95rem;
}
.supplier-route-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.supplier-route-card{
  padding:1.45rem;
  gap:.8rem;
}
.supplier-route-card p{
  margin:.15rem 0 0;
}
.supplier-route-card ul{
  display:grid;
  gap:.15rem;
}
.supplier-route-card li{
  color:#50637f;
}
.supplier-route-card .arrow-link{
  margin-top:.35rem;
}
.supplier-section-intro{
  margin-bottom:1.25rem;
}
.supplier-section-intro .section-head p,
.supplier-section-intro .supplier-rich-copy{
  max-width:68ch;
}
.supplier-benefit-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.supplier-benefit-grid article{
  min-height:unset;
  padding:1.2rem 1.2rem 1.2rem 4rem;
  border-radius:22px;
  border:1px solid rgba(4,175,251,.18);
  background:#fff;
  color:#132344;
  box-shadow:0 16px 34px rgba(5,28,73,.07);
}
.supplier-benefit-grid strong{
  color:#06255d;
  font-size:1.08rem;
}
.supplier-benefit-grid span{
  color:#5b6e88;
  font-size:.92rem;
}
.supplier-benefit-count{
  background:linear-gradient(145deg,#06255d,#0d4ca4);
  border:none;
  box-shadow:0 10px 24px rgba(5,28,73,.2);
}
.supplier-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}
.supplier-process-step{
  position:relative;
  min-height:unset;
  padding:1.25rem 1.2rem 1.15rem;
  border-radius:22px;
  border:1px solid rgba(4,175,251,.2);
  background:#fff;
  box-shadow:0 16px 34px rgba(5,28,73,.07);
}
.supplier-process-step:not(:last-child)::after{
  content:'→';
  position:absolute;
  right:-.72rem;
  top:50%;
  transform:translateY(-50%);
  color:#04affb;
  font-size:1.65rem;
  font-weight:1000;
}
.supplier-process-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.4rem;
  height:2.4rem;
  border-radius:999px;
  margin-bottom:.9rem;
  background:#edf8ff;
  border:1px solid #d7ebfb;
  color:#06255d;
  font-size:.82rem;
  font-weight:1000;
}
.supplier-process-step h3{
  margin:0 0 .55rem;
  color:#06255d;
  font-size:1.08rem;
  line-height:1.15;
}
.supplier-process-step p{
  margin:0;
  color:#5b6e88;
  font-size:.93rem;
}
.supplier-registration-layout{
  grid-template-columns:.82fr 1.18fr;
  gap:1.2rem;
}
.supplier-capabilities-panel{
  padding:1.35rem;
  background:#fff;
}
.supplier-capability-group h3{
  margin-bottom:.75rem;
}
.supplier-capability-group .tag-cloud{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
}
.supplier-capability-group .tag-cloud span{
  display:block;
  background:#eef7ff;
  border:1px solid #d8ebfb;
  color:#06255d;
  padding:.55rem .72rem;
  font-weight:800;
  line-height:1.25;
}
.supplier-registration-note,
.supplier-registration-form,
.supplier-capabilities-panel{
  box-shadow:0 16px 34px rgba(5,28,73,.07);
}
@media(max-width:980px){
  .supplier-network-hero-smart .container.supplier-hero-layout,
  .supplier-route-grid,
  .supplier-benefit-grid,
  .supplier-process-grid,
  .supplier-registration-layout{
    grid-template-columns:1fr;
  }
  .supplier-hero-visual{
    max-width:none;
  }
  .supplier-process-step:not(:last-child)::after{
    content:'↓';
    right:auto;
    left:50%;
    top:auto;
    bottom:-.95rem;
    transform:translateX(-50%);
  }
}
@media(max-width:720px){
  .supplier-jump-nav{
    margin-top:0;
  }
  .supplier-capability-group .tag-cloud{
    grid-template-columns:1fr;
  }
  .supplier-benefit-grid article{
    padding:1.1rem 1.1rem 1.1rem 3.8rem;
  }
}


/* Supplier Database Why join polish v3.8.18 */
.supplier-benefits-section .supplier-section-intro .supplier-rich-copy{
  margin-top:.8rem;
}
.supplier-benefit-grid article{
  padding:1.15rem 1.2rem 1.15rem 3rem;
}
.supplier-benefit-count{
  left:1.2rem;
  top:1.55rem;
  width:.72rem;
  height:.72rem;
  min-width:.72rem;
  border-radius:999px;
  box-shadow:none;
  background:linear-gradient(145deg,#04affb,#0d4ca4);
}
@media(max-width:720px){
  .supplier-benefit-grid article{
    padding:1.1rem 1.1rem 1.1rem 2.8rem;
  }
  .supplier-benefit-count{
    position:absolute;
    left:1.1rem;
    top:1.48rem;
    margin:0;
  }
}

/* Trade page full Pages CMS v3.8.19 */
.trade-rich-copy > :first-child{
  margin-top:0;
}
.trade-rich-copy > :last-child{
  margin-bottom:0;
}
.trade-rich-copy ul,
.trade-rich-copy ol{
  padding-left:1.2rem;
}
.trade-section-intro.has-image{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);
  gap:1.5rem;
  align-items:center;
  margin-bottom:1.5rem;
}
.trade-section-intro.has-image .section-head{
  margin-bottom:0;
}
.trade-section-image,
.trade-info-image,
.trade-application-image{
  display:block;
  width:100%;
  object-fit:cover;
  border-radius:20px;
  box-shadow:0 16px 38px rgba(5,28,73,.12);
}
.trade-section-image{
  max-height:360px;
}
.trade-info-image{
  margin-bottom:1.1rem;
  aspect-ratio:16 / 9;
}
.trade-application-image{
  margin-bottom:1.1rem;
  aspect-ratio:16 / 9;
}
.trade-info-card .trade-rich-copy,
.trade-application-copy .trade-rich-copy{
  color:#5d6b82;
}
.trade-hero .trade-rich-copy,
.trade-hero .trade-rich-copy p,
.trade-hero .trade-rich-copy li,
.trade-hero .trade-rich-copy a{
  color:#dceeff;
}
.trade-benefit-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.trade-process{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
@media(max-width:820px){
  .trade-section-intro.has-image{
    grid-template-columns:1fr;
  }
}

/* Services full Pages CMS presentation v3.8.22 */
.services-rich-copy > :first-child{margin-top:0}
.services-rich-copy > :last-child{margin-bottom:0}
.service-page-section-intro.has-image{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:1.5rem;
  align-items:center;
  margin-bottom:1.5rem;
}
.service-page-section-intro.has-image .section-head{margin-bottom:0}
.service-page-section-image{
  display:block;
  width:100%;
  max-height:340px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 16px 38px rgba(5,28,73,.12);
}
.service-trust-panel.has-image{
  grid-template-columns:minmax(0,.9fr) minmax(240px,.55fr) minmax(0,1.05fr);
}
.service-enquiry-image{
  width:min(260px,100%);
  max-height:180px;
  object-fit:cover;
  border-radius:20px;
}
.gamecrowd-closing-panel.has-image{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.4fr) auto;
  align-items:center;
  gap:1.25rem;
}
@media(max-width:980px){
  .service-page-section-intro.has-image,
  .service-trust-panel.has-image,
  .gamecrowd-closing-panel.has-image{grid-template-columns:1fr}
}

/* Downloads Pages CMS hero integration v3.8.24 */
.downloads-hero-actions{
  margin-top:1.15rem;
}
.downloads-library-cms-intro{
  margin:0 0 1.4rem;
  padding:1.25rem 1.35rem;
  border:1px solid #dce7f4;
  border-radius:22px;
  background:#fff;
  box-shadow:0 15px 38px rgba(4,38,99,.07);
}
.downloads-library-cms-intro > :first-child{
  margin-top:0;
}
.downloads-library-cms-intro > :last-child{
  margin-bottom:0;
}
