
.wcgwm-wrap{
  border: 1px solid rgba(0,0,0,.08);
  padding: 14px;
  margin: 18px 0;
  border-radius: 10px;
  background: rgba(0,0,0,.02);
}
.wcgwm-title{ margin: 0 0 10px; font-size: 16px; }
.wcgwm-row{ display:flex; align-items:center; gap:10px; margin: 8px 0; }
.wcgwm-label{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.wcgwm-price{ opacity:.75; }
.wcgwm-edit{ margin-left: 6px; }
.wcgwm-preview{ margin: 6px 0 0 28px; font-size: 13px; opacity: .9; }

.wcgwm-modal{ position: fixed; inset: 0; display:none; z-index: 99999; }
.wcgwm-modal.is-open{ display:block; }
.wcgwm-modal__overlay{ position:absolute; inset:0; background: rgba(0,0,0,.55); }
.wcgwm-modal__panel{
  position: relative;
  max-width: 640px;
  width: calc(100% - 24px);
  margin: 6vh auto;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.wcgwm-modal__head, .wcgwm-modal__foot{ padding: 14px 16px; }
.wcgwm-modal__head{ display:flex; align-items:center; justify-content:space-between; border-bottom: 1px solid rgba(0,0,0,.08); }
.wcgwm-modal__body{ padding: 16px; }
.wcgwm-modal__close{
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.wcgwm-field{ margin: 0 0 12px; }
.wcgwm-field label{ display:block; font-weight: 600; margin: 0 0 6px; }
.wcgwm-field select, .wcgwm-field textarea{ width: 100%; }
.wcgwm-help{ display:flex; justify-content:flex-end; font-size:12px; opacity:.75; margin-top:6px; }
.wcgwm-error{
  padding: 10px 12px;
  border: 1px solid rgba(220, 38, 38, .3);
  background: rgba(220, 38, 38, .06);
  border-radius: 10px;
  color: #b91c1c;
}


.wcgwm-fancybox-content .form-control{width:100%;margin:10px 0;}
.wcgwm-modal-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
.wcgwm-fancybox-content .wcgwm-error{margin-top:10px;color:#b32d2e;}

.wcgwm-options{margin:18px 0;padding:12px 0;border-top:1px solid rgba(0,0,0,.08)}
.wcgwm-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 0}
.wcgwm-check{display:flex;gap:10px;align-items:center;margin:0}
.wcgwm-hint{opacity:.7}

.wcgwm-description{display:block;font-size:0.9em;opacity:.75;margin-top:2px}

/* Layout: meta left, price right (to mimic cart item) */
.wcgwm-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
}
.wcgwm-row > input.wcgwm-toggle{
  margin-right:10px;
}
.wcgwm-meta{
  flex:1 1 auto;
  min-width:0;
}
.wcgwm-price{
  flex:0 0 auto;
  white-space:nowrap;
}
.wcgwm-description{
  display:block;
  margin-top:6px;
  opacity:.75;
}
.wcgwm-actions{
  margin-top:8px;
}
