
.ppe-group-accordion{
  border:1px solid #e5e7eb;
  border-radius:18px;
  margin:18px 0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 24px rgba(15,23,42,.05);
}

.ppe-group-header{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:none;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
  padding:16px 18px;
  cursor:pointer;
  text-align:left;
}

.ppe-group-header.is-open .ppe-group-header__meta{
  opacity:.9;
}

.ppe-group-header__title{
  font-size:1.05rem;
  font-weight:700;
  color:#0f172a;
}

.ppe-group-header__meta{
  font-size:.86rem;
  color:#64748b;
  white-space:nowrap;
}

.ppe-group-body{
  display:block;
  padding:16px 18px 18px;
}

.ppe-group-rules{
  font-size:.9rem;
  color:#475569;
  margin-bottom:14px;
  padding:10px 12px;
  background:#f8fafc;
  border-radius:12px;
  border:1px solid #eef2f7;
}

.ppe-field-render{
  padding:12px 0;
  border-bottom:1px solid #f1f5f9;
}

.ppe-field-render:last-child{
  border-bottom:none;
}

.ppe-choice{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.ppe-choice--checkbox{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ppe-choice__left{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.ppe-choice__left--toggle{
  cursor:pointer;
}

.ppe-choice__label-text{
  font-weight:600;
  color:#0f172a;
}

.ppe-choice__label{
  font-weight:600;
  color:#0f172a;
  display:block;
  margin-bottom:2px;
}

.ppe-choice__price{
  color:#0f172a;
  font-weight:700;
  flex:0 0 auto;
}

.ppe-choice-select,
.ppe-choice-number{
  width:100%;
  border:1px solid #d8dde6;
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:#0f172a;
  font-size:14px;
}

.ppe-choice-select{
  max-width:420px;
}

.ppe-choice--number{
  gap:12px;
}

.ppe-number-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.ppe-qty-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:2px;
}

.ppe-qty-wrap.is-hidden{
  display:none;
}

.ppe-stepper{
  width:34px;
  height:34px;
  border:1px solid #d8dde6;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font-size:20px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.ppe-stepper:hover{
  background:#f8fafc;
}

.ppe-group-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #eef2f7;
}

.ppe-group-status{
  color:#475569;
  font-size:.92rem;
}

.ppe-group-accordion.is-invalid .ppe-group-status{
  color:#b42318;
  font-weight:600;
}

.ppe-group-total{
  font-weight:700;
  color:#0f172a;
}

.ppe-grand-total-wrap{
  margin:18px 0 8px;
  padding:16px 18px;
  border-radius:16px;
  background:#0f172a;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  box-shadow:0 10px 24px rgba(15,23,42,.14);
}

.ppe-grand-total-wrap .ppe-grand-total-label{
  font-weight:700;
  opacity:.92;
}

.ppe-grand-total-wrap .amount{
  font-size:1.15rem;
  font-weight:800;
}

@media (max-width: 720px){
  .ppe-group-header,
  .ppe-group-footer,
  .ppe-grand-total-wrap{
    flex-direction:column;
    align-items:flex-start;
  }

  .ppe-group-header__meta{
    white-space:normal;
  }

  .ppe-choice--checkbox,
  .ppe-number-top{
    align-items:flex-start;
    flex-direction:column;
  }

  .ppe-choice-select{
    max-width:100%;
  }

  .ppe-qty-wrap{
    width:100%;
  }
}
