/* gnu_edit front */
.ge-layout{width:100%}
.ge-section{padding:24px 0}
.ge-section--wide{width:100vw;margin-left:calc(50% - 50vw)}
.ge-section__inner{max-width:1280px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.ge-module{margin-bottom:16px}
.ge-module--bare{margin-bottom:0;padding:0}
.ge-module__title{display:none}
.ge-module__empty{padding:24px;background:#f2f4f7;border-radius:10px;color:#667085;text-align:center}

/* Widget section ON/OFF (front edit mode) */
.ge-mod-bar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:10px 14px;
  background:rgba(8,14,24,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  box-shadow:0 8px 20px rgba(15,23,42,.18);
  position:relative;
  z-index:5;
}
body.ge-edit-on .ge-mod-bar{display:flex}
body:not(.ge-edit-on) .ge-module--off{display:none!important}
.ge-mod-bar__title{
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  opacity:.95;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ge-mod-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  font:inherit;
}
.ge-mod-toggle__track{
  position:relative;
  width:42px;
  height:24px;
  border-radius:999px;
  background:#4b5563;
  transition:background .15s ease;
}
.ge-mod-toggle.is-on .ge-mod-toggle__track{background:#16a34a}
.ge-mod-toggle__knob{
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
  transition:transform .15s ease;
}
.ge-mod-toggle.is-on .ge-mod-toggle__knob{transform:translateX(18px)}
.ge-mod-toggle__label{
  min-width:28px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.ge-module--off{
  outline:2px dashed rgba(148,163,184,.7);
  outline-offset:-2px;
  background:repeating-linear-gradient(-45deg,rgba(148,163,184,.08),rgba(148,163,184,.08) 8px,transparent 8px,transparent 16px);
  padding:12px;
  border-radius:12px;
  margin:18px 0;
}
.ge-module__off-msg{
  padding:28px 16px;
  text-align:center;
  color:#64748b;
  font-size:14px;
  font-weight:600;
}
.ge-mod-toggle.is-busy{opacity:.55;pointer-events:none}

/* business cards widget */
.ge-bcards{padding:56px 0}
.ge-bcards__head{text-align:center;margin-bottom:28px}
.ge-bcards__eyebrow{display:inline-block;color:#00a651;font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:8px}
.ge-bcards__title{margin:0;font-size:32px}
.ge-bcards__grid{
  display:grid;
  grid-template-columns:repeat(var(--ad-cols-pc,4),minmax(0,1fr));
  gap:14px;
}
.ge-bcard{
  display:flex;flex-direction:column;height:100%;
  background:#fff;border:1px solid #eceff3;border-radius:14px;overflow:hidden;
  box-shadow:0 8px 20px rgba(17,24,39,.04);text-decoration:none;color:inherit;text-align:center;
}
.ge-bcard__media{position:relative;aspect-ratio:16/10;background:#f3f4f6}
.ge-bcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.ge-bcard__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:13px}
.ge-bcard__body{padding:22px 16px;display:flex;flex-direction:column;gap:10px;min-height:96px;justify-content:center}
.ge-bcard__title{font-size:16px;font-weight:700}
.ge-bcard__sub{font-size:12px;color:#6b7280}
@media (max-width:991px){
  .ge-bcards__grid{grid-template-columns:repeat(var(--ad-cols-mo,2),minmax(0,1fr))}
  .ge-bcards__title{font-size:26px}
}
