/* Shared Join Free card + rail chrome.
   Card grids/carousels use .news-cta-tile.dm-join-card as a peer cell.
   List/board/directory UIs use .dm-section-gate as a full-width rail. */

.news-cta-tile,
.news-cta-tile.dm-join-card,
.dm-join-card.news-cta-tile{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  height:100%;
  min-height:180px;
  padding:22px 24px;
  background:var(--bgc,#0E1A2C);
  border:1px solid var(--brs,rgba(0,217,255,.3));
  border-radius:var(--r,8px);
  text-decoration:none;
  box-sizing:border-box;
  color:inherit;
}
.dm-join-card-title{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;
  font-weight:700;
  color:var(--tx1,#EEF4FF);
  line-height:1.3;
}
.dm-join-card-desc{
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  color:var(--tx2,#8FAEC8);
  line-height:1.5;
}
.dm-join-card-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:40px;
  padding:8px 16px;
  border-radius:8px;
  background:var(--y,#F5C842);
  color:#1a1000;
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  font-weight:800;
  transition:background .15s,transform .15s;
}
.dm-join-card:hover .dm-join-card-btn,
.dm-join-card-btn:hover{background:var(--yl,#FFD966);transform:translateY(-1px)}
.dm-join-card:focus-visible{
  outline:2px solid var(--t,#00D9FF);
  outline-offset:2px;
}

.dm-section-gate{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 18px;
  margin-top:14px;
  padding:16px 18px;
  background:var(--bgc,#0E1A2C);
  border:1px solid var(--br,rgba(0,217,255,.12));
  border-radius:10px;
  box-sizing:border-box;
  width:100%;
}
.dm-section-gate-copy{min-width:0;flex:1 1 220px}
.dm-section-gate-title{
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  font-weight:700;
  color:var(--tx1,#EEF4FF);
  margin:0 0 4px;
  line-height:1.3;
}
.dm-section-gate-desc{
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  line-height:1.5;
  color:var(--tx2,#8FAEC8);
  margin:0;
}
.dm-section-gate-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:8px 16px;
  border-radius:8px;
  background:var(--t,#00D9FF);
  color:#051018;
  font-family:'DM Sans',sans-serif;
  font-size:.875rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  flex:0 0 auto;
  transition:background .15s,transform .15s;
}
.dm-section-gate-cta:hover{background:var(--tl,#66EEFF);transform:translateY(-1px)}
.dm-section-gate-cta:focus-visible{outline:2px solid var(--tx1,#EEF4FF);outline-offset:2px}

.vid-grid.dm-guest-join-row-4{grid-template-columns:1fr}
@media (min-width:700px){
  .vid-grid.dm-guest-join-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  .vid-grid.dm-guest-join-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.vid-grid > .news-cta-tile{min-height:260px}

:is([data-theme="light"],[data-theme="solarized"]) .news-cta-tile{
  background:var(--bgc,#FAFAF5);
  border-color:rgba(0,80,100,.22);
}
:is([data-theme="light"],[data-theme="solarized"]) .dm-join-card-title{color:#1A1A1A}
:is([data-theme="light"],[data-theme="solarized"]) .dm-join-card-desc{color:#4A5568}
:is([data-theme="light"],[data-theme="solarized"]) .dm-join-card-btn{
  background:#0A5A80;
  color:#fff;
}
:is([data-theme="light"],[data-theme="solarized"]) .dm-join-card:hover .dm-join-card-btn,
:is([data-theme="light"],[data-theme="solarized"]) .dm-join-card-btn:hover{background:#0C6A96}
:is([data-theme="light"],[data-theme="solarized"]) .dm-section-gate{
  background:var(--bgc,#FAFAF5);
  border-color:rgba(0,80,100,.18);
}
:is([data-theme="light"],[data-theme="solarized"]) .dm-section-gate-title{color:#1A1A1A}
:is([data-theme="light"],[data-theme="solarized"]) .dm-section-gate-desc{color:#4A5568}
:is([data-theme="light"],[data-theme="solarized"]) .dm-section-gate-cta{
  background:#0A5A80;
  color:#fff;
}
:is([data-theme="light"],[data-theme="solarized"]) .dm-section-gate-cta:hover{background:#0C6A96}

@media (prefers-reduced-motion:reduce){
  .dm-join-card-btn,.dm-section-gate-cta{transition:none}
  .dm-join-card:hover .dm-join-card-btn,
  .dm-join-card-btn:hover,
  .dm-section-gate-cta:hover{transform:none}
}
