/**
 * OneMundo Shipping Checkout Styles v1.0
 * Visual moderno para opções de frete
 */

/* Container geral */
#collapse-shipping-method .panel-body {
    padding: 20px !important;
    background: #fafafa !important;
}

/* Título da transportadora */
#collapse-shipping-method p > strong {
    display: block;
    padding: 12px 16px;
    margin: 0 -20px 15px -20px;
    background: linear-gradient(135deg, #FF6A00, #FF8C00);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    border-radius: 0;
}

#collapse-shipping-method p > strong:first-of-type {
    margin-top: -20px;
    border-radius: 8px 8px 0 0;
}

/* Opções de frete como cards */
#collapse-shipping-method .radio {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

#collapse-shipping-method .radio label {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    background: #fff !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 14px !important;
    color: #1f2937 !important;
    font-weight: 500 !important;
}

#collapse-shipping-method .radio label:hover {
    border-color: #FF6A00 !important;
    background: #fffbf5 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(255, 106, 0, 0.15);
}

#collapse-shipping-method .radio input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    accent-color: #FF6A00 !important;
    cursor: pointer !important;
}

#collapse-shipping-method .radio input[type="radio"]:checked + label,
#collapse-shipping-method .radio label:has(input:checked) {
    border-color: #FF6A00 !important;
    background: linear-gradient(135deg, #fffbf5, #fff7ed) !important;
    box-shadow: 0 4px 12px rgba(255, 106, 0, 0.2) !important;
}

/* Fix para input dentro do label */
#collapse-shipping-method .radio label input[type="radio"] {
    flex-shrink: 0;
}

/* Preço destacado */
#collapse-shipping-method .radio label {
    position: relative;
}

/* Separar nome do método do preço */
#collapse-shipping-method .radio label::after {
    content: '';
    flex: 1;
}

/* Comentários */
#collapse-shipping-method textarea.form-control {
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    resize: vertical !important;
    min-height: 80px !important;
    transition: border-color 0.2s !important;
}

#collapse-shipping-method textarea.form-control:focus {
    border-color: #FF6A00 !important;
    box-shadow: 0 0 0 3px rgba(255, 106, 0, 0.1) !important;
    outline: none !important;
}

/* Label dos comentários */
#collapse-shipping-method p > strong:not(:first-of-type) {
    display: block;
    margin: 20px 0 10px 0;
    padding: 0;
    background: none;
    color: #374151 !important;
    font-size: 13px;
}

/* Botão continuar */
#collapse-shipping-method #button-shipping-method {
    background: linear-gradient(135deg, #FF6A00, #FF8C00) !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    box-shadow: 0 4px 15px rgba(255, 106, 0, 0.3) !important;
    transition: all 0.2s ease !important;
}

#collapse-shipping-method #button-shipping-method:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 106, 0, 0.4) !important;
}

/* Alerta de erro */
#collapse-shipping-method .alert-danger {
    border-radius: 10px !important;
    border: none !important;
    background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
    color: #dc2626 !important;
    padding: 14px 18px !important;
}

/* Alerta de aviso */
#collapse-shipping-method .alert-warning {
    border-radius: 10px !important;
    border: none !important;
    background: linear-gradient(135deg, #fffbeb, #fef3c7) !important;
    color: #d97706 !important;
    padding: 14px 18px !important;
}

/* Frete Grátis destacado */
#collapse-shipping-method .radio label[class*="free"],
#collapse-shipping-method .radio label:contains("Grátis"),
#collapse-shipping-method .radio label:contains("R$ 0,00") {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5) !important;
    border-color: #86efac !important;
}

/* Mobile */
@media (max-width: 768px) {
    #collapse-shipping-method .panel-body {
        padding: 15px !important;
    }
    
    #collapse-shipping-method .radio label {
        padding: 14px 16px !important;
        font-size: 13px !important;
    }
    
    #collapse-shipping-method p > strong {
        margin: 0 -15px 12px -15px;
        padding: 10px 15px;
        font-size: 13px;
    }
    
    #collapse-shipping-method #button-shipping-method {
        width: 100% !important;
        padding: 16px !important;
    }
}