.ccc{
  font-size: var(--ccc-font, 16px);
  color: var(--ccc-text, #111);
  padding: var(--ccc-outer-pad, 0);
  border-radius: var(--ccc-radius, 14px);
}

.ccc a{ color: var(--ccc-link, #0b57d0); text-decoration: none; }
.ccc a:hover{ text-decoration: underline; }
.ccc[style*="--ccc-link-hover-underline:0"] a:hover{ text-decoration: none; }

.ccc .ccc-row{
  display: inline-flex;
  align-items: center;
  gap: var(--ccc-icon-gap, 10px);
  margin: calc(var(--ccc-item-gap, 10px) / 2) var(--ccc-item-gap, 10px) calc(var(--ccc-item-gap, 10px) / 2) 0;
}

.ccc .ccc-ico{
  color: var(--ccc-icon, #111);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--ccc-icon-size, 18px);
  min-width: calc(var(--ccc-icon-size, 18px) + 4px);
}

.ccc .ccc-svg svg{ width: 1em; height: 1em; vertical-align: middle; fill: currentColor; }

/* Single contact layouts */
.ccc-layout-card{
  display: inline-block;
  background: var(--ccc-bg, #fff);
  border: var(--ccc-border, 1px solid #e5e7eb);
  border-radius: var(--ccc-radius, 14px);
  padding: var(--ccc-pad, 18px);
}
.ccc-layout-stack{ display: inline-flex; flex-direction: column; align-items: flex-start; }
.ccc-layout-inline{ display: inline-flex; flex-wrap: wrap; gap: var(--ccc-item-gap, 10px); }

/* Directory grid */
.ccc-directory{
  display: grid;
  grid-template-columns: repeat(var(--ccc-dir-cols, 3), minmax(0, 1fr));
  gap: var(--ccc-dir-gap, 18px);
  padding: var(--ccc-outer-pad, 0);
}
@media (max-width: 1024px){
  .ccc-directory{ grid-template-columns: repeat(var(--ccc-dir-cols-tablet, 2), minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .ccc-directory{ grid-template-columns: repeat(var(--ccc-dir-cols-mobile, 1), minmax(0, 1fr)); }
}

.ccc-dir-item{
  background: var(--ccc-dir-item-bg, #fff);
  border: var(--ccc-dir-item-border, 1px solid #e5e7eb);
  border-radius: var(--ccc-dir-item-radius, 14px);
  padding: var(--ccc-dir-item-pad, 18px);
}

/* Divider lines within each contact card */
.ccc-dir-item .ccc-row{
  display: flex;
  margin: 0;
  padding: calc(var(--ccc-item-gap, 10px) / 1.5) 0;
  width: 100%;
}
.ccc[style*="--ccc-dividers:1"] .ccc-dir-item .ccc-row + .ccc-row{
  border-top: 1px solid rgba(0,0,0,0.08);
}

.ccc-ico-none{ display:none; }
