.rnf-pb-form{border:1px solid #eee;padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.rnf-pb-form.premium h3{margin-top:0}
.rnf-pb-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rnf-pb-form .grid .span-2{grid-column:span 2}
.rnf-pb-form input,.rnf-pb-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px}
.rnf-pb-form fieldset{border:1px solid #f2f2f2;padding:12px;border-radius:10px;margin:12px 0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card{position:relative;border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;transition:.2s;background:#fff}
.card .card-body{padding:14px}
.card .card-title{font-weight:700}
.card .card-sub{color:#666;font-size:.9rem}
.card input{position:absolute;opacity:0;cursor:pointer}
.card:hover{box-shadow:0 4px 18px rgba(0,0,0,.06);transform:translateY(-1px)}
.card.selected{outline:2px solid #22c55e; background:#f0fff4}
.variants-title{font-weight:600;margin:6px 0 2px}
.variant-cards .card .card-sub strong{font-weight:700}
.options-grid{display:flex;justify-content: space-around;}
.rnf-pb-form .button{padding:10px 16px;border-radius:999px;border:1px solid #ddd;background:#fafafa;cursor:pointer; margin-top: 10px; margin-right:15px;}
.rnf-pb-form .button.primary{background:#ff4fa1;border-color:#ff4fa1;color:#fff}
.rnf-pb-form .button.outline{background:#fff}
.rnf-pb-form .total{font-size:1.2rem;margin-top:8px}
.rnf-pb-form .availability{margin:8px 0}
.rnf-pb-form .availability .warn{color:#c62828}

.rnf-cart-drawer{
  position: fixed; top: 80px; right: 16px; width: 320px; max-height: calc(100vh - 120px);
  background: #fff; border: 1px solid #eee; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,.10);
  padding: 12px; transform: translateX(360px); transition: transform .2s ease; z-index: 9999; overflow: auto;
}
.rnf-cart-drawer.open{ transform: translateX(0); }
.rnf-cart-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px }
.rnf-cart-close{ border:0; background:#f3f4f6; width:28px; height:28px; border-radius:50%; cursor:pointer }
.rnf-cart-items{ display:flex; flex-direction:column; gap:8px; }
.rnf-cart-item{ display:flex; justify-content:space-between; align-items:center; border-bottom:1px dashed #eee; padding:6px 0; }
.rnf-cart-item small{ color:#6b7280 }
.rnf-cart-total{ display:flex; justify-content:space-between; align-items:center; padding-top:8px; font-size:1.05rem }
.rnf-cart-amount{ font-weight:700 }
.rnf-cart-toggle{ margin-left:8px }

@media(max-width:1024px){
  .rnf-cart-drawer{ width:100%; right:0; left:0; top:auto; bottom:0; border-radius:12px 12px 0 0; transform: translateY(120%); }
  .rnf-cart-drawer.open{ transform: translateY(0); }
  .card-grid{grid-template-columns:1fr}
  .rnf-pb-form .grid{grid-template-columns:1fr}
  .options-grid{grid-template-columns:1fr}
}
