.calculate-cost-delivery-box,
.tracking-box{
    padding:1rem 1.5rem;
    margin-top: 1.5rem;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background:#fff;
}

#calculate-cost-delivery-title,
#tracking-title {
    border-bottom: 2px solid #7a7a7a;
    padding-bottom: 10px;
}

/* Input de CP + botón "Calcular" en la misma fila, como el resto de los combos
   input+acción del tema (ej. cantidad + agregar al carrito). */
.calculate-cost-delivery-box__form {
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex-wrap: nowrap;
}

.calculate-cost-delivery-box__form .input-wrapper {
    flex: 1 1 auto;
}

.calculate-cost-delivery-box__form #calculate_cost {
    flex: 0 0 auto;
}

#zip_code,
#tracking{
    width: 100%;
    height: 40px;
}

#noCarrier{
    padding: 1rem 1.5rem;
}

#carriers_list{
    padding: 1rem 1.5rem;
}

.southpostsa27-carrier-description label{
    font-weight: 600;
    margin: 0 5px;
}

.southpostsa27-carrier-price span{
    font-weight: 900;
    margin: 0 5px;
    color: #49b6d2
}

.loader {
    border: 5px solid #f3f3f3;
    border-top: 5px solid #49b6d2;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    margin: 10px 200px;
  }

  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
/*
  .presis-option{
    margin-left: 0px  !important;
    margin-right: 0px !important;
  } */

#presis-multicarrier-notice {
    background: #fff8e1;
    border: 1px solid #ffc107;
    border-left: 4px solid #ffc107;
    border-radius: 4px;
    padding: 10px 14px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #333;
}

/* Banner de bloqueo: producto sin ninguna mensajería que lo cubra. Id sin "southpostsa27" a propósito,
   mismo motivo que #presis-multicarrier-notice arriba. */
#presis-unclaimed-notice {
    background: #f8d7da;
    border: 1px solid #dc3545;
    border-left: 4px solid #dc3545;
    border-radius: 4px;
    padding: 10px 14px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #721c24;
}

/* Carrier obligatorio: borde destacado */
.delivery-option.southpostsa27-mandatory {
    border: 2px solid #0069d9;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    position: relative;
}
.delivery-option.southpostsa27-mandatory::before {
    content: "Envío requerido";
    position: absolute;
    top: -11px;
    left: 12px;
    background: #0069d9;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 3px;
    letter-spacing: 0.5px;
}

/* Aclaración de a qué producto(s) aplica este carrier (split real entre hermanas) */
.southpostsa27-applies-to {
    font-size: 12px;
    color: #6c757d;
    margin: 4px 0;
}

/* Estado pendiente / seleccionado */
.southpostsa27-status {
    font-size: 13px;
    margin: 6px 0 4px;
    padding: 4px 8px;
    border-radius: 3px;
}
.southpostsa27-status--pending {
    color: #856404;
    background: #fff3cd;
}
.southpostsa27-status--ok {
    color: #155724;
    background: #d4edda;
}
.southpostsa27-status-icon {
    font-style: normal;
    margin-right: 4px;
}

/* Error de validación */
.southpostsa27-error {
    color: #721c24;
    background: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 3px;
    padding: 6px 10px;
    font-size: 13px;
    margin-top: 6px;
}

/* Opción de servicio */
.southpostsa27-service-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    cursor: pointer;
}
.southpostsa27-service-option .carrier-price {
    margin-left: auto;
    font-weight: bold;
}
