.ds-gform {position:relative;}
.ds-gform-loading {display:none; position:absolute; top:-5%; left:-5%; width:110%; height:110%; background-color:rgba(255,255,255,0.8); background-repeat:no-repeat; background-position:center center; z-index:1;}
.ds-gform-loading.is-active {display:block;}

.ds-gform-items {
	display: grid;
  /* 1열: Label 너비에 맞게 자동 조절(auto), 2열: 남은 공간 모두 차지(1fr) */
  grid-template-columns: auto 1fr; 
  gap: 0.5em 1em; /* 행 gap, 열 gap */
  align-items: center; /* Y축 중앙 정렬 */
}

.ds-gform-item {
  display: grid;
  grid-column: 1 / -1; /* 부모 그리드의 1열부터 끝까지 영역 차지 */
  grid-template-columns: subgrid; /* 부모의 열(column) 정의를 그대로 물려받음 */
  align-items: center;
}

.ds-gform-item input,
.ds-gform-item textarea {box-sizing:border-box; border:1px solid var(--color-grey);}

.ds-gform-item textarea {width:100%; max-width:100%; min-width:100%; min-height:4em;}

.ds-gform-item input[type="checkbox"] {width:1em; height:1em; vertical-align:middle;}

.ds-gform-item label {cursor:pointer;}
.ds-gform-item label:hover,
.ds-gform-item>div:nth-of-type(1) {font-weight:bold;}

.ds-gform-submit {margin:1em 0 0 0;}
.ds-gform-submit button {background:var(--color-white); font-weight:bold; color:var(--color-1b); padding:0.2em 1em; font-size:1.1em; border:1px solid var(--color-grey); font-weight:800; cursor:pointer;}
.ds-gform-submit button:hover {background:#fff; color:var(--color-1a);}