/* ==========================================================
   EXHIBITORS DIRECTORY
   Same hero/typography/colour language as index.php and
   exhibitions.php (var(--navy)/var(--blue)/var(--gold), var(--radius),
   var(--shadow)). Cards are a fixed height regardless of product-list
   length or company-name length, so the grid never looks jagged; the
   product-tag area is the one part of the card that scrolls internally
   when a company lists a lot of products, rather than truncating them.
   ========================================================== */

.scx-exhibitors-hero{
  position:relative;
  overflow:hidden;
  padding:52px 0 40px;
  background:linear-gradient(180deg,#061827 0%,#071d2e 100%);
  color:#fff;
}
.scx-exhibitors-hero:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:64px;
  background:linear-gradient(90deg,transparent 0 4%,#0f2c44 4% 8%,transparent 8% 12%,#123350 12% 16%,transparent 16% 21%,#0c2438 21% 25%,transparent 25% 31%,#153a5a 31% 36%,transparent 36% 41%,#0f2c44 41% 47%,transparent 47% 52%,#173f61 52% 59%,transparent 59% 66%,#0d2740 66% 73%,transparent 73% 78%,#173f61 78% 84%,transparent 84%);
  clip-path:polygon(0 100%,0 67%,4% 67%,5% 29%,7% 67%,14% 67%,15% 45%,18% 45%,19% 67%,28% 67%,30% 17%,33% 67%,40% 67%,41% 48%,45% 48%,46% 67%,55% 67%,57% 35%,60% 35%,61% 67%,68% 67%,70% 10%,73% 67%,82% 67%,83% 44%,88% 44%,89% 67%,100% 67%,100% 100%);
  opacity:.5;
}
.scx-exhibitors-hero .hero-row{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.scx-exhibitors-hero .eyebrow{display:flex;align-items:center;gap:9px;color:#6fc1ff}
.scx-exhibitors-hero .eyebrow img{border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.scx-exhibitors-hero h1{margin:10px 0 12px;font-size:clamp(38px,5vw,58px);line-height:1;color:#fff;letter-spacing:-1px}
.scx-exhibitors-hero p{max-width:620px;margin:0;color:#a9bcc9;font-size:15.5px;line-height:1.6}
.scx-exhibitors-hero .hero-stats{display:flex;gap:28px}
.scx-exhibitors-hero .hero-stat{text-align:right}
.scx-exhibitors-hero .hero-stat strong{display:block;font-size:34px;line-height:1;color:#fff}
.scx-exhibitors-hero .hero-stat span{display:block;margin-top:6px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#7f97a8}

/* Toolbar: search facility (replaces the old static exhibitor count,
   which duplicated the number already shown in the hero). */
.scx-exhibitors-toolbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:20px 0;
  position:sticky;
  top:79px;
  z-index:10;
}
.scx-exhibitor-search{max-width:720px}
.scx-exhibitor-search label{
  display:block;
  margin-bottom:8px;
  color:var(--blue);
  font-weight:900;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.scx-search-row{display:flex;gap:9px}
.scx-search-row input{
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  border-radius:9px;
  padding:12px 14px;
  font-size:15px;
  background:#fff;
  color:var(--text);
}
.scx-search-status{
  margin-top:12px;
  font-size:13px;
  color:var(--muted);
}
.scx-search-status a{font-weight:800}

.scx-exhibitors-list{
  background:var(--paper);
  padding:44px 0 64px;
}
.scx-exhibitors-list .container{
  max-width:1500px;
}
.scx-exhibitors-empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:44px;
  text-align:center;
  color:var(--muted);
}
.scx-exhibitors-empty h2{color:var(--navy)}

/* Card grid — 3 wide columns (per client request), fixed height cards
   so a long product list or company name never distorts the grid. */
.scx-exhibitors-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.scx-exhibitor-record{
  position:relative;
  display:flex;
  flex-direction:column;
  height:462px;
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .15s ease,box-shadow .15s ease;
}
.scx-exhibitor-record:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 56px rgba(11,35,65,.16);
}

/* Gold "flash" — reserved exclusively for catalogue count. Never used
   for image-only stands, so gold keeps a single, consistent meaning:
   "this stand has something you can open and download". */
.scx-exhibitor-record .flash{
  position:absolute; top:14px; right:-34px; z-index:3;
  width:150px; transform:rotate(40deg); text-align:center;
  background:linear-gradient(135deg,#e9c65a,var(--gold));
  color:#3a2c02; font-size:10.5px; font-weight:900; letter-spacing:.03em;
  padding:5px 0; box-shadow:0 6px 14px rgba(212,175,55,.45);
}
.scx-exhibitor-record .img-badge{
  position:absolute; top:12px; left:12px; z-index:3;
  background:rgba(11,35,65,.82); color:#fff;
  font-size:9.5px; font-weight:800; letter-spacing:.03em;
  padding:5px 9px; border-radius:999px;
}

/* Name first, left-aligned, then the cover beneath it. */
.scx-exhibitor-body{
  flex:0 0 auto;
  padding:16px 16px 0;
}
.scx-exhibitor-body h2{
  margin:0;
  font-size:17px;
  line-height:1.2;
  color:var(--navy);
  text-align:left;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.scx-exhibitor-body h2 a{color:inherit}
.scx-exhibitor-body h2 a:hover{color:var(--blue)}

.scx-exhibitor-cover{
  flex:0 0 168px;
  margin:12px 16px 0;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(150deg,var(--navy),var(--navy-2));
  position:relative;
  overflow:hidden;
  text-decoration:none;
}
.scx-exhibitor-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
}
.scx-exhibitor-cover.no-cover{background:var(--paper);border:1px solid var(--line)}
.no-cover-panel{
  width:72%;height:80%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:0 10px 24px rgba(11,35,65,.08);
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.no-cover-panel span{font-size:9px;font-weight:900;color:var(--blue)}
.no-cover-panel b{font-size:15px;line-height:1.15;color:var(--navy)}
.no-cover-panel em{font-size:9px;color:var(--muted);font-style:normal}

/* All products live here — never truncated with "+N more". This is
   the one flexible zone in the card: short lists just sit still, long
   lists scroll internally so the card height never changes. */
.scx-exhibitor-products{
  flex:1 1 auto;
  min-height:0;
  padding:12px 16px 0;
  display:flex;
}
.scx-product-boxes{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:6px;
  padding-bottom:8px;
  mask-image:linear-gradient(180deg,#000 calc(100% - 14px),transparent 100%);
}
.scx-product-boxes::-webkit-scrollbar{width:5px}
.scx-product-boxes::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
.scx-product-boxes span{
  flex:0 0 auto;
  padding:4px 9px;
  border-radius:999px;
  background:var(--paper);
  border:1px solid var(--line);
  font-size:10.5px;
  font-weight:700;
  color:var(--text);
  white-space:nowrap;
}

.scx-exhibitor-footer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 16px;
  margin-top:10px;
  background:var(--paper);
  border-top:1px solid var(--line);
}
.scx-media-stats{display:flex;gap:16px}
.scx-media-stats div strong{display:block;color:var(--navy);font-size:16px;line-height:1}
.scx-media-stats div span{display:block;margin-top:2px;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.03em}
.scx-enter-stand{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:var(--navy);
  color:#fff;
  font-size:11px;
  font-weight:800;
  padding:9px 13px;
  border-radius:8px;
  white-space:nowrap;
}
.scx-enter-stand:hover{background:var(--navy-2)}

.scx-exhibitor-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:36px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.scx-exhibitor-pagination a{color:var(--blue);font-weight:800;font-size:14px}
.scx-exhibitor-pagination strong{color:var(--navy);font-size:13px}

@media(max-width:1150px){
  .scx-exhibitors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .scx-exhibitors-toolbar{top:0}
  .scx-exhibitors-hero .hero-row{align-items:flex-start}
}
@media(max-width:640px){
  .scx-exhibitors-grid{grid-template-columns:1fr}
  .scx-search-row{flex-wrap:wrap}
  .scx-search-row input{flex-basis:100%}
}
