/* ============================================================
   ROYAL DESIGN — RD WIDGETS (shared)
   Flat, hairline-bordered, 8px cards, pill buttons. No shadows.
   Selectors use two classes (.rdw .x) so they reliably beat the
   theme/kit's generic `button` reset without needing !important.
   ============================================================ */
.rdw{background:#FFFFFF;border:1px solid #ECECEC;border-radius:8px;overflow:hidden;max-width:760px;font-family:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;letter-spacing:-0.03em;color:#1A1A1A;}
.rdw *{box-sizing:border-box;}
.rdw__step{padding:28px 32px;border-top:1px solid #ECECEC;}
.rdw__step:first-child{border-top:0;}
.rdw__label{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:16px;font-weight:500;letter-spacing:-0.48px;}
.rdw__num{width:24px;height:24px;flex:0 0 24px;border-radius:9999px;background:#42006A;color:#FFFFFF;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.rdw__hint{display:block;margin:-8px 0 16px;font-size:14px;color:#6A6A6A;letter-spacing:-0.42px;}
.rdw__opts{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);}
.rdw__opts--2{grid-template-columns:repeat(2,1fr);}
.rdw__opts--3{grid-template-columns:repeat(3,1fr);}
.rdw__opts--4{grid-template-columns:repeat(4,1fr);}
.rdw .opt{border:1px solid #ECECEC;border-radius:8px;padding:18px;cursor:pointer;background:#FFFFFF;text-align:left;position:relative;transition:border-color .25s cubic-bezier(.16,1,.3,1),background-color .25s cubic-bezier(.16,1,.3,1);font-family:inherit;}
.rdw .opt:hover{border-color:#1A1A1A;}
.rdw .opt.is-on{border-color:#42006A;background:#faf7fd;}
.rdw .opt.is-on::after{content:'';position:absolute;top:0;left:18px;right:18px;height:2px;background:#8CFC30;}
.opt__name{display:block;font-size:16px;font-weight:500;letter-spacing:-0.48px;color:#1A1A1A;}
.opt__price{display:block;margin-top:4px;font-size:14px;color:#42006A;font-weight:500;}
.opt__desc{display:block;margin-top:8px;font-size:14px;color:#6A6A6A;line-height:1.45;}
.rdw__qty{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#F7F5F0;border-radius:8px;padding:14px 18px;}
.rdw__qtylabel{font-size:16px;font-weight:500;}
.rdw__qtyctl{display:flex;align-items:center;gap:14px;}
.rdw .qbtn{width:36px;height:36px;border-radius:9999px;border:1px solid #ECECEC;background:#FFFFFF;color:#42006A;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.16,1,.3,1);}
.rdw .qbtn:hover{background:#42006A;color:#FFFFFF;border-color:#42006A;}
.rdw .qbtn:disabled{opacity:.35;cursor:default;}
.qval{font-size:20px;font-weight:500;min-width:26px;text-align:center;letter-spacing:-0.6px;}
.rdw__fields{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);}
.rdw__fields--3{grid-template-columns:repeat(3,1fr);}
.rdw__fields label{display:grid;gap:6px;font-size:14px;color:#6A6A6A;letter-spacing:-0.42px;}
.rdw__fields .full{grid-column:1/-1;}
.rdw input[type=text],.rdw input[type=tel],.rdw input[type=email],.rdw input[type=number],.rdw input[type=date],.rdw select,.rdw textarea{font-family:inherit;font-size:16px;letter-spacing:-0.03em;color:#1A1A1A;background:#FFFFFF;border:1px solid #ECECEC;border-radius:8px;padding:12px 14px;width:100%;transition:border-color .25s cubic-bezier(.16,1,.3,1);}
.rdw input:focus,.rdw select:focus,.rdw textarea:focus{border-color:#42006A;outline:none;}
.rdw textarea{resize:vertical;}
.rdw__drop{display:block;border:1px dashed #ECECEC;border-radius:8px;padding:32px 20px;text-align:center;cursor:pointer;transition:border-color .25s cubic-bezier(.16,1,.3,1),background-color .25s cubic-bezier(.16,1,.3,1);}
.rdw__drop:hover,.rdw__drop.is-over{border-color:#42006A;background:#faf7fd;}
.rdw__drop svg{color:#42006A;margin:0 auto 10px;display:block;}
.rdw__drop p{font-size:16px;color:#6A6A6A;margin:0;}
.rdw__drop .rdw__dhint{font-size:14px;color:#6A6A6A;opacity:.7;margin-top:4px;}
.rdw__thumbs{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.rdw__thumb{width:64px;height:64px;border-radius:8px;overflow:hidden;background:#ECECEC;}
.rdw__thumb img{width:100%;height:100%;object-fit:cover;}
.rdw__note{display:flex;gap:12px;align-items:flex-start;background:#F7F5F0;border-radius:8px;padding:16px 18px;font-size:14px;color:#6A6A6A;line-height:1.5;letter-spacing:-0.42px;}
.rdw__sum{background:#1A1A1A;color:#FFFFFF;padding:24px 32px;}
.rdw__sumrow{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:16px;color:rgba(255,255,255,.7);margin:0;}
.rdw__sumrow--total{color:#FFFFFF;font-weight:500;font-size:24px;letter-spacing:-0.72px;border-top:1px solid rgba(255,255,255,.16);margin-top:10px;padding-top:16px;align-items:baseline;}
.rdw__caveat{margin-top:10px;font-size:14px;color:rgba(255,255,255,.55);line-height:1.5;}
.rdw__cta{padding:24px 32px 28px;display:grid;gap:12px;justify-items:start;}
.rdw .btn{width:100%;}
.rdw__alt{font-size:14px;color:#6A6A6A;letter-spacing:-0.42px;margin:0;}
.rdw__alt a{color:#42006A;font-weight:500;text-decoration:underline;text-underline-offset:3px;}
.rdw__done{display:none;padding:56px 32px;text-align:center;}
.rdw__done.is-on{display:block;}
.rdw__form.is-off{display:none;}
.rdw__tick{width:56px;height:56px;border-radius:9999px;background:#8CFC30;color:#1A1A1A;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
.rdw__done h3{font-size:32px;letter-spacing:-0.96px;font-weight:400;margin:0;}
.rdw__done p{margin-top:10px;font-size:16px;color:#6A6A6A;}
.rdw__done .rdw__ref{margin-top:20px;font-size:14px;color:#42006A;font-weight:500;}
.rdw .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:9999px;font-size:16px;font-weight:500;line-height:1;letter-spacing:-0.48px;border:1px solid transparent;cursor:pointer;background:#42006A;color:#FFFFFF;transition:background-color .25s cubic-bezier(.16,1,.3,1);font-family:inherit;}
.rdw .btn:hover{background:#561488;}
@media (max-width:767px){
  .rdw__step{padding:22px 20px;}
  .rdw__sum,.rdw__cta{padding-left:20px;padding-right:20px;}
  .rdw__opts--2,.rdw__opts--3,.rdw__opts--4{grid-template-columns:1fr;}
  .rdw__fields,.rdw__fields--3{grid-template-columns:1fr;}
  .rdw__sumrow--total{font-size:20px;letter-spacing:-0.6px;}
  .rdw__done{padding:40px 20px;}
}
