@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&display=swap');
 .universodrop-checkout-wrapper{max-width:1200px;margin:0 auto;padding:12px;}
.universodrop-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:900px){.universodrop-grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:8px;box-shadow:0 1px 6px rgba(0,0,0,.08);overflow:hidden}
.card-header{background:#f7f7f7;padding:12px 16px}
.card-body{padding:16px}
.section-header h5{margin:0 0 8px 0}
.price-display{font-weight:600}
#universodrop_label_preview img{max-width:160px;border-radius:6px}
.universodrop-qty{width:80px}

/* Estilos para feedback de upload */
.universodrop-upload-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: #f8f9fa;
  border-radius: 6px;
  border: 1px dashed #dee2e6;
}

.universodrop-upload-success {
  position: relative;
}

.universodrop-upload-verified {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 6px 10px;
  background: #d4edda;
  color: #155724;
  border-radius: 4px;
  font-size: 0.9rem;
}

.universodrop-verified-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: #28a745;
  color: white;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
}

/* Spinner para busca de CEP */
.universodrop-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  animation: universodrop-spin 0.8s linear infinite;
  display: inline-block;
}

@keyframes universodrop-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Skeleton loading simples para inputs e blocos */
.universodrop-input-skeleton {
  position: relative;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  background-size: 200% 100%;
  animation: universodrop-shimmer 1.2s linear infinite;
  color: transparent !important;
}

.universodrop-skeleton-line {
  height: 14px;
  border-radius: 6px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  background-size: 200% 100%;
  animation: universodrop-shimmer 1.2s linear infinite;
  margin: 6px 0;
}

@keyframes universodrop-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* seção e títulos leves inspirados no exemplo */
.section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  margin: 8px 0 12px;
  border-bottom: 1px solid #e9ecef;
}
.section-header h5 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #2c3e50;
}

/* rótulos e inputs */
.form-label {
  font-weight: 500;
  color: #34495e;
}
.form-control {
  border-radius: 6px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.field-error {
  border-color: #ff5c5c !important;
  background-color: #fffafa;
}

.field-error:focus {
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.1);
}

/* espaçamento de campos no bloco do destinatário */
#universodrop_recipient_box .row.g-2 > [class*="col-"] {
  margin-bottom: 12px;
}

/* lista de fretes */
#universodrop-shipping-rates label.form-check {
  padding: 8px 12px;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 8px;
}
#universodrop-shipping-rates .price-display {
  margin-left: auto;
  font-weight: 600;
  color: #2c3e50;
}

/* Linha de total aprimorada */
.universodrop-total-row { display: flex; justify-content: flex-end; align-items: baseline; gap: 10px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 1.15rem; color: #1e293b; margin-top: 10px; }
.universodrop-total-label { opacity: 0.9; letter-spacing: 0.2px; }
.universodrop-total-amount { color: #0f172a; font-weight: 800; }
#universodrop-total-spinner.universodrop-spinner { margin-left: 6px; }

/* Ações alinhadas à direita */
 .universodrop-actions { display: flex; justify-content: flex-end; }