.gec-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
}
.gec-field{ background:#fff; padding:12px; border:1px solid #e5e5e5; border-radius:8px; }
.gec-field-full{ grid-column: 1 / -1; }
.gec-field input[type="text"],
.gec-field input[type="url"],
.gec-field input[type="email"],
.gec-field select{
  width:100%;
  max-width: 100%;
}


.gec-custom-date-row{ display:flex; gap:8px; align-items:center; margin:6px 0; }
.gec-custom-date-row input.gec-date{ flex:1; }

/* Shortcode helper */
.gec-shortcode-helper .gec-field h2{ font-size: 1.2em; }
.gec-sc-row{ padding:10px 0; border-top:1px solid #f0f0f0; }
.gec-sc-row:first-child{ border-top:0; }
.gec-sc-title{ font-weight:700; margin-bottom:8px; }
.gec-sc-controls{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.gec-sc-input{ min-width: 420px; }

/* v1.4.35: custom URL fields */
.gec-custom-url-admin-row{
  display:grid;
  grid-template-columns: minmax(120px, 180px) 1fr minmax(90px, 130px) 1fr;
  gap:8px 12px;
  align-items:center;
  margin:10px 0;
  padding:10px;
  border:1px solid #e5e5e5;
  border-radius:8px;
  background:#fafafa;
}
.gec-custom-url-admin-row input[type="text"],
.gec-custom-url-admin-row input[type="url"]{
  width:100%;
}
@media (max-width: 782px){
  .gec-custom-url-admin-row{ grid-template-columns:1fr; }
}


/* v1.4.39: controlled AM/PM time entry */
.gec-time-control{
  display:flex;
  align-items:center;
  gap:6px;
  max-width:360px;
}
.gec-time-control select{
  width:auto;
  min-width:76px;
}
.gec-time-control .gec-time-hour,
.gec-time-control .gec-time-minute{
  min-width:72px;
}
.gec-time-control .gec-time-ampm{
  min-width:82px;
}
.gec-time-separator{
  font-weight:700;
  font-size:16px;
}


/* v1.4.43: pair start/end dates and daily times for clearer entry */
.gec-admin-two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  background:transparent;
  border:0;
  padding:0;
}
.gec-admin-two-col .gec-field{ margin:0; }
@media (max-width: 782px){
  .gec-admin-two-col{ grid-template-columns:1fr; }
}


/* v1.4.52: complicated times admin state */
.gec-time-row-disabled{
  opacity:.48;
  filter:grayscale(1);
}
.gec-time-row-disabled .gec-time-control select{
  background:#f0f0f0;
  cursor:not-allowed;
}

/* v1.4.58 additions: preserve existing admin layout while enabling reorderable buttons/sponsors. */
.gec-custom-url-admin-list .gec-custom-url-admin-row,
.gec-sponsors-admin-list .gec-sponsor-admin-row,
.gec-accordion-admin-row { margin: 10px 0; padding: 10px; border: 1px solid #ccd0d4; background: #fff; }
.gec-drag-handle { cursor: move; display: inline-block; margin-right: 8px; color: #646970; }
.gec-sponsor-preview img { max-width: 120px; max-height: 80px; display: block; margin: 0 0 8px; }
.gec-sponsor-admin-row input[type="url"] { min-width: 280px; }

/* v1.4.59: Pre-registration controls and improved sortable button rows. */
.gec-pre-reg-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px;align-items:end}
.gec-pre-reg-style-grid label{display:flex;flex-direction:column;font-weight:600;gap:4px}
.gec-custom-url-admin-list .gec-custom-url-admin-row{display:grid;grid-template-columns:32px minmax(130px,170px) minmax(260px,1.4fr) minmax(70px,90px) minmax(260px,1.4fr) auto;gap:8px;align-items:center;margin:8px 0;padding:8px;border:1px solid #dcdcde;background:#fff}
.gec-custom-url-admin-row .gec-drag-handle{cursor:move;text-align:center;font-size:18px;line-height:1;color:#555}
.gec-custom-url-admin-row input[type="text"]{min-width:260px;width:100%}
.gec-custom-url-admin-row input[type="url"]{width:100%}
.gec-custom-url-admin-list .ui-sortable-placeholder{visibility:visible!important;background:#f0f6fc;border:1px dashed #2271b1;min-height:42px}

/* v1.4.63: tighter admin panel curve system */
.gec-field,
.gec-button-row,
.gec-sponsor-admin-row{
  border-radius:6px;
}
.gec-sponsor-preview img{
  border-radius:4px;
}
