.rrwa-single-wrap { margin-top: 10px; }

/* MODALES */
.rrwa-modal { display:none; }
.rrwa-modal.is-open { display:block; position:fixed; inset:0; z-index:99999; }

.rrwa-modal__backdrop {
  position:absolute; inset:0;
  background: rgba(0,0,0,.55);
}

.rrwa-modal__panel{
  position:relative;
  width:min(520px, calc(100% - 24px));
  margin: 40px auto;
  background:#fff;
  border-radius: 14px;
  overflow:hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
}

.rrwa-modal__header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #eee;
}

.rrwa-modal__title{ font-size:16px; font-weight:700; }
.rrwa-modal__x{
  border:0; background:transparent; font-size:24px; line-height:1;
  cursor:pointer;
}

.rrwa-modal__body{ padding: 14px 16px; }
#rrwa-form input, #rrwa-form textarea,
#rrwa-cart-form input, #rrwa-cart-form textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:10px;
  outline:none;
}
#rrwa-form textarea, #rrwa-cart-form textarea{ min-height:90px; resize:vertical; }

.rrwa-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 10px; }
.rrwa-status{ margin-top:10px; font-size: 13px; opacity: .9; }

.rrwa-invalid{ border-color: #e12d39 !important; box-shadow: 0 0 0 2px rgba(225,45,57,.12); }

.rrwa-checkout-fields{
  margin-top: 16px;
  padding: 12px 14px;
  border: 1px solid #eee;
  border-radius: 12px;
}
.rrwa-hint{ margin-top:-6px; opacity:.8; font-size: 13px; }

/* =========================
   BOTÓN FLOTANTE (Carrito)
   ========================= */
.rrwa-float-cart {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99998;
}

.rrwa-float-cart__btn{
  position: relative;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
}

.rrwa-float-cart__icon svg{
  display:block;
  fill:#111;
}

.rrwa-float-cart__badge{
  position:absolute;
  top: -6px;
  left: -6px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #d81b1b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 18px rgba(0,0,0,.15);
}

.rrwa-float-cart.is-hidden{ display:none; }

/* =========================
   DRAWER (Review Your Cart)
   ========================= */
.rrwa-cart-drawer{ display:none; }
.rrwa-cart-drawer.is-open{
  display:block;
  position:fixed;
  inset:0;
  z-index: 99997;
}

.rrwa-cart-drawer__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
}

.rrwa-cart-drawer__panel{
  position:absolute;
  top:0; right:0;
  width:min(420px, 94vw);
  height:100%;
  background:#fff;
  box-shadow: -20px 0 60px rgba(0,0,0,.25);
  display:flex;
  flex-direction:column;
  transform: translateX(0);
}

.rrwa-cart-drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 14px;
  border-bottom: 1px solid #eee;
}

.rrwa-cart-drawer__title{
  font-size: 16px;
  font-weight: 800;
}

.rrwa-cart-drawer__x{
  border:0;
  background:transparent;
  font-size: 26px;
  line-height: 1;
  cursor:pointer;
}

.rrwa-cart-drawer__body{
  padding: 10px 12px;
  overflow:auto;
  flex: 1 1 auto;
}

.rrwa-drawer-loading{
  padding: 14px;
  opacity: .7;
  font-size: 14px;
}

.rrwa-drawer-item{
  display:flex;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
}

.rrwa-drawer-item__img{
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow:hidden;
  background:#f5f5f5;
  flex: 0 0 auto;
}
.rrwa-drawer-item__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.rrwa-drawer-item__main{
  flex: 1 1 auto;
  min-width: 0;
}

.rrwa-drawer-item__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}

.rrwa-drawer-item__name{
  font-weight: 700;
  font-size: 14px;
  line-height: 1.25;
  color: #111;
  text-decoration:none;
  display:block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rrwa-drawer-item__remove{
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  opacity: .55;
}
.rrwa-drawer-item__remove:hover{ opacity: .9; }

.rrwa-drawer-item__prices{
  margin-top: 6px;
  display:flex;
  gap: 8px;
  align-items:center;
  justify-content:flex-end;
  font-size: 14px;
  font-weight: 700;
}

.rrwa-drawer-item__prices del{
  opacity: .55;
  font-weight: 600;
}

.rrwa-drawer-qty{
  margin-top: 8px;
  display:flex;
  align-items:center;
  gap: 6px;
}

.rrwa-qty-btn{
  width: 34px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  background: #fff;
  cursor:pointer;
  font-weight: 800;
}

.rrwa-qty-input{
  width: 44px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  text-align:center;
  font-weight: 700;
}

.rrwa-cart-drawer__footer{
  padding: 12px 12px 14px;
  border-top: 1px solid #eee;
}

.rrwa-drawer-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 10px;
  margin-bottom: 10px;
}

.rrwa-drawer-subtitle{
  font-weight: 800;
  font-size: 14px;
}

.rrwa-drawer-muted{
  font-size: 12px;
  opacity: .65;
  margin-top: 2px;
}

#rrwa-drawer-subtotal{
  font-weight: 900;
}

#rrwa-drawer-checkout{
  width:100%;
  padding: 12px 14px;
  border-radius: 12px;
  font-weight: 800;
}