/* Base */
.awpsp-wrap{border:1px solid #e5e7eb;border-radius:14px;padding:16px;max-width:560px;background:#fff}
.awpsp-head{font-size:20px;font-weight:600;margin-bottom:12px}
.awpsp-form{display:grid;gap:12px}
.awpsp-lbl{font-weight:600}
.awpsp-form input[type="tel"], .awpsp-form input[type="number"]{padding:.65rem;border:1px solid #d1d5db;border-radius:10px;width:100%;background:#f8fafc}
.awpsp-pack-heading{margin:0 0 -6px 0}
.awpsp-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.awpsp-pkg{border:1px solid #d1d5db;background:#f3f4f6;border-radius:12px;padding:.65rem;cursor:pointer;text-align:center}
.awpsp-pkg small{display:block;opacity:.8}
.awpsp-pkg.awpsp-pkg--sel{background:#10b981;color:#fff;border-color:#10b981}
.awpsp-custom{position:relative}
.awpsp-custom input{background:#f3f4f6}
.awpsp-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);opacity:.7}
.awpsp-actions{display:flex;gap:10px;flex-wrap:wrap}
.awpsp-btn{padding:.8rem 1rem;border:0;border-radius:12px;cursor:pointer;background:#111827;color:#fff;opacity:.6}
.awpsp-btn.awpsp-ready{opacity:1;background:#10b981;color:#fff;border-color:#10b981}
.awpsp-btn[disabled]{opacity:.45;cursor:not-allowed}
.awpsp-msg{margin-top:6px;padding:.6rem;border-radius:10px}

/* 3-column layout via CSS vars --awpsp-left/--awpsp-right */
.awpsp--3col{ max-width:unset; width:100%; }
.awpsp--3col .awpsp-form{
  display:grid;
  grid-template-columns: var(--awpsp-left,280px) 1fr var(--awpsp-right,320px);
  gap:18px; align-items:start;
}
.awpsp--3col .awpsp-form > label.awpsp-lbl{ grid-column:1; grid-row:1 / span 2; }
.awpsp--3col .awpsp-pack-heading{ grid-column:2; grid-row:1; }
.awpsp--3col .awpsp-packages{ grid-column:2; grid-row:2; }
.awpsp--3col .awpsp-actions{
  grid-column:3; grid-row:1;
  background:#f8fbff; border:1px solid rgba(17,24,39,.08);
  padding:12px; border-radius:14px 14px 0 0; margin:0;
}
.awpsp--3col .awpsp-note{
  grid-column:3; grid-row:2;
  background:#f8fbff; border:1px solid rgba(17,24,39,.08); border-top:0;
  padding:10px 12px; border-radius:0 0 14px 14px; color:#25335a; margin:0;
}
.awpsp--3col .awpsp-msg{ grid-column:1 / -1; }

/* Responsive tweaks */
@media (max-width:1140px){
  .awpsp--3col .awpsp-form{ grid-template-columns:240px 1fr 280px; gap:16px; }
}
@media (max-width:780px){
  .awpsp--3col .awpsp-form{ grid-template-columns:1fr; }
  .awpsp--3col .awpsp-form > *{ grid-column:1; grid-row:auto; }
}